## action\_thread\_t ### 概述 执行action的线程。 > 每个线程都有一个action queue,可以是共享的queue,也可以是私有的queue。 ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | action\_thread\_create | 创建action_thread对象。 | | action\_thread\_create\_ex | 创建action_thread对象。 | | action\_thread\_create\_with\_queue | 创建action_thread对象。 | | action\_thread\_create\_with\_queue\_ex | 创建action_thread对象。 | | action\_thread\_destroy | 销毁。 | | action\_thread\_exec | 让线程执行action。 | | action\_thread\_set\_on\_idle | 设置空闲时的回调函数。 | | action\_thread\_set\_on\_quit | 设置退出时的回调函数。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | executed\_actions\_nr | uint32\_t | 已经执行action的个数。 | | queue | waitable\_action\_queue\_t* | action queue。 | | thread | tk\_thread\_t* | 线程对象。 | #### action\_thread\_create 函数 ----------------------- * 函数功能: >

创建action_thread对象。 * 函数原型: ``` action_thread_t* action_thread_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | action\_thread\_t* | action\_thread对象。 | #### action\_thread\_create\_ex 函数 ----------------------- * 函数功能: >

创建action_thread对象。 * 函数原型: ``` action_thread_t* action_thread_create_ex (const char* name, uint32_t stack_size, tk_thread_priority_t priority); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | action\_thread\_t* | action\_thread对象。 | | name | const char* | 名称。 | | stack\_size | uint32\_t | 栈的大小。 | | priority | tk\_thread\_priority\_t | 优先级。 | #### action\_thread\_create\_with\_queue 函数 ----------------------- * 函数功能: >

创建action_thread对象。 * 函数原型: ``` action_thread_t* action_thread_create_with_queue (waitable_action_queue_t* queue); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | action\_thread\_t* | action\_thread对象。 | | queue | waitable\_action\_queue\_t* | queue对象。 | #### action\_thread\_create\_with\_queue\_ex 函数 ----------------------- * 函数功能: >

创建action_thread对象。 * 函数原型: ``` action_thread_t* action_thread_create_with_queue_ex (waitable_action_queue_t* queue, const char* name, uint32_t stack_size, tk_thread_priority_t priority); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | action\_thread\_t* | action\_thread对象。 | | queue | waitable\_action\_queue\_t* | queue对象。 | | name | const char* | 名称。 | | stack\_size | uint32\_t | 栈的大小。 | | priority | tk\_thread\_priority\_t | 优先级。 | #### action\_thread\_destroy 函数 ----------------------- * 函数功能: >

销毁。 * 函数原型: ``` ret_t action_thread_destroy (action_thread_t* thread); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | thread | action\_thread\_t* | action\_thread对象。 | #### action\_thread\_exec 函数 ----------------------- * 函数功能: >

让线程执行action。 * 函数原型: ``` ret_t action_thread_exec (action_thread_t* thread, qaction_t* action); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | thread | action\_thread\_t* | action\_thread对象。 | | action | qaction\_t* | action对象。 | #### action\_thread\_set\_on\_idle 函数 ----------------------- * 函数功能: >

设置空闲时的回调函数。 * 函数原型: ``` ret_t action_thread_set_on_idle (action_thread_t* thread, action_thread_on_idle_t on_idle, void* ctx); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | thread | action\_thread\_t* | action\_thread对象。 | | on\_idle | action\_thread\_on\_idle\_t | 空闲时的回调函数。 | | ctx | void* | 回调函数的上下文。 | #### action\_thread\_set\_on\_quit 函数 ----------------------- * 函数功能: >

设置退出时的回调函数。 * 函数原型: ``` ret_t action_thread_set_on_quit (action_thread_t* thread, action_thread_on_quit_t on_quit, void* ctx); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | thread | action\_thread\_t* | action\_thread对象。 | | on\_quit | action\_thread\_on\_quit\_t | 退出时的回调函数。 | | ctx | void* | 回调函数的上下文。 | #### executed\_actions\_nr 属性 ----------------------- >

已经执行action的个数。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### queue 属性 ----------------------- >

action queue。 * 类型:waitable\_action\_queue\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | #### thread 属性 ----------------------- >

线程对象。 * 类型:tk\_thread\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 |