B_QuRT_User_Guide(5)
3.17 qurt_thread_get_priority()
3.17.1 功能文档
3.17.1.1 int qurt_thread_get_priority ( qurt_thread_t threadid )
获取指定线程的优先级。
返回指定线程的线程优先级。
线程优先级被指定为从 0 到 255 范围内的数值,较低的值表示较高的优先级。 0 表示可能的最高线程优先级。
注意:QuRT 可以配置为具有不同的优先级范围。
相关数据类型
qurt_thread_t
参数
in | threadid | 线程标识符。 |
返回值
-1 —— 无效的线程标识符。
0 到 255——线程优先级值。
依赖关系
None.
3.18 qurt_thread_get_timetest_id()
3.18.1 功能文档
3.18.1.1 unsigned short qurt_thread_get_timetest_id ( void )
获取当前线程的时间测试标识符。
返回当前线程的时间测试标识符。
Timetest 标识符用于在调试或分析期间标识线程。
注意:Timetest 标识符不同于内核生成的用于在 API 线程操作中指定线程的线程标识符。
返回值
整数 - 时间测试标识符。
依赖关系
None.
3.19 qurt_thread_join()
3.19.1 功能文档
3.19.1.1 int qurt_thread_join ( unsigned int tid, int ∗ status )
等待指定线程完成; 指定的线程是同一进程中的另一个线程。 调用者线程被挂起,直到指定的线程退出。 当未指定线程退出时,调用者线程被唤醒。
注意:如果指定的线程已经退出,该函数立即返回结果值 QURT_ENOTHREAD。
两个线程不能调用 qurt_thread_join 来等待同一个线程完成。 如果发生这种情况,QuRT 会生成一个异常(参见第 19 节)。
参数
in | tid | 线程标识符。 |
out | status | 线程退出状态的目标变量。 返回应用程序定义的值,指示指定线程的终止状态。 |
返回值
QURT_ENOTHREAD – 线程已经退出。
QURT_EOK – 线程成功加入,状态值有效。
依赖关系
None.
3.20 qurt_thread_resume()
3.20.1 功能文档
3.20.1.1 int qurt_thread_resume ( unsigned int thread_id )
恢复暂停线程的执行。
参数
in | thread_id | 线程标识符。 |
返回值
QURT_EOK – 线程成功恢复。
QURT_EFATAL – 恢复操作失败。
依赖关系
None.
3.21 qurt_thread_set_cache_partition()
3.21.1 功能文档
3.21.1.1 void qurt_thread_set_cache_partition ( qurt_cache_partition_t l1_icache,qurt_cache_partition_t l1_dcache, qurt_cache_partition_t l2_cache )
设置当前线程的缓存分区。 该函数使用类型 qurt_cache_partition_t 为 L1 I 缓存、L1 D 缓存和 L2 缓存选择当前线程的缓存分区。
相关数据类型
qurt_cache_partition_t
参数
in | l1_icache | L1 I 缓存分区。 |
in | l1_dcache | L1 D 缓存分区。 |
in | l2_cache | L2 缓存分区。 |
返回值
None.
依赖关系
None.
3.22 qurt_thread_set_priority()
3.22.1 功能文档
3.22.1.1 int qurt_thread_set_priority ( qurt_thread_t threadid, unsigned short newprio )
设置指定线程的优先级。
线程优先级被指定为从 0 到 255 范围内的数值,较低的值表示较高的优先级。 0 表示可能的最高线程优先级。
注意:QuRT 可以配置为具有不同的优先级范围。 有关详细信息,请参阅第 2.2 节。
相关数据类型
qurt_thread_t
参数
in | threadid | 线程标识符。 |
in | newprio | 新线程优先级值。 |
返回值
0 – 优先级设置成功。
-1 – 无效的线程标识符。
依赖关系
None.
3.23 qurt_thread_attr_set_detachstate()
3.23.1 功能文档
3.23.1.1 static void qurt_thread_attr_set_detachstate ( qurt_thread_attr_t ∗ attr, unsigned short detachstate )
设置创建线程的线程分离状态。 线程分离状态是可连接的或分离的; 由以下值指定:
• QURT_THREAD_ATTR_CREATE_JOINABLE
• QURT_THREAD_ATTR_CREATE_DETACHED
当一个分离的线程被创建(QURT_THREAD_ATTR_CREATE_DETACHED)时,它的线程 ID 和其他资源会在线程退出后立即被回收。 当创建可连接线程 (QURT_THREAD_ATTR_CREATE_JOINABLE) 时,假定某个线程将等待使用 qurt_thread_join() 调用加入它。 默认情况下,所有 qurt 线程都是独立创建的。
注意:对于一个可加入的线程(QURT_THREAD_ATTR_CREATE_JOINABLE)来说,在它终止后有一些线程加入它是非常重要的,否则该线程的资源没有被回收,导致内存泄漏。
相关数据类型
qurt_thread_attr_t
参数
in,out | attr | 指向线程属性结构的指针。 |
in | detachstate | 线程分离状态。 |
返回值
None.
依赖关系
None.
3.24 qurt_thread_set_timetest_id()
3.24.1 功能文档
3.24.1.1 void qurt_thread_set_timetest_id ( unsigned short tid )
设置当前线程的时间测试标识符。 Timetest 标识符用于在调试或分析期间标识线程。
注意:Timetest 标识符不同于内核生成的用于在 API 线程操作中指定线程的线程标识符。
参数
in | tid | 时间测试标识符。 |
返回值
None.
依赖关系
None.