awtk/docs/manual/tk_thread_t.md
2021-01-11 08:23:05 +08:00

224 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## tk\_thread\_t
### 概述
线程对象。
----------------------------------
### 函数
<p id="tk_thread_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#tk_thread_t_tk_thread_create">tk\_thread\_create</a> | 创建thread对象。 |
| <a href="#tk_thread_t_tk_thread_destroy">tk\_thread\_destroy</a> | 销毁thread对象。 |
| <a href="#tk_thread_t_tk_thread_get_args">tk\_thread\_get\_args</a> | 获取线程的参数。 |
| <a href="#tk_thread_t_tk_thread_get_priority_from_platform">tk\_thread\_get\_priority\_from\_platform</a> | 获取平台相关的优先级 |
| <a href="#tk_thread_t_tk_thread_join">tk\_thread\_join</a> | 等待线程退出。 |
| <a href="#tk_thread_t_tk_thread_self">tk\_thread\_self</a> | 获取当前线程的原生句柄。 |
| <a href="#tk_thread_t_tk_thread_set_name">tk\_thread\_set\_name</a> | 设置线程的名称。 |
| <a href="#tk_thread_t_tk_thread_set_priority">tk\_thread\_set\_priority</a> | 设置线程的优先级。 |
| <a href="#tk_thread_t_tk_thread_set_stack_size">tk\_thread\_set\_stack\_size</a> | 设置线程的栈大小。 |
| <a href="#tk_thread_t_tk_thread_start">tk\_thread\_start</a> | 启动线程。 |
#### tk\_thread\_create 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_create">创建thread对象。
* 函数原型:
```
tk_thread_t* tk_thread_create (tk_thread_entry_t entry, void* args);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | tk\_thread\_t* | thread对象。 |
| entry | tk\_thread\_entry\_t | 线程函数。 |
| args | void* | 线程函数的上下文。 |
#### tk\_thread\_destroy 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_destroy">销毁thread对象。
在销毁对象前必须调用 tk_thread_join 函数等待退出线程
* 函数原型:
```
ret_t tk_thread_destroy (tk_thread_t* thread);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| thread | tk\_thread\_t* | thread对象。 |
#### tk\_thread\_get\_args 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_get_args">获取线程的参数。
* 函数原型:
```
void* tk_thread_get_args (tk_thread_t* thread);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | void* | 返回线程的参数。 |
| thread | tk\_thread\_t* | thread对象。 |
#### tk\_thread\_get\_priority\_from\_platform 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_get_priority_from_platform">获取平台相关的优先级
> 部分平台支持。
> 根据 AWTK 通用优先级枚举获取平台相关的优先级
* 函数原型:
```
int32_t tk_thread_get_priority_from_platform (tk_thread_priority_t priority);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | int32\_t | 返回平台相关的优先级。 |
| priority | tk\_thread\_priority\_t | 优先级。 |
#### tk\_thread\_join 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_join">等待线程退出。
必须调用 tk_thread_destroy 函数来释放线程资源,以免出现内存泄漏的问题。
* 函数原型:
```
ret_t tk_thread_join (tk_thread_t* thread);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| thread | tk\_thread\_t* | thread对象。 |
#### tk\_thread\_self 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_self">获取当前线程的原生句柄。
* 函数原型:
```
uint64_t tk_thread_self ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint64\_t | 返回当前线程的原生句柄。 |
#### tk\_thread\_set\_name 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_set_name">设置线程的名称。
> 需要在调用start之前调用本函数。
* 函数原型:
```
ret_t tk_thread_set_name (tk_thread_t* thread, const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| thread | tk\_thread\_t* | thread对象。 |
| name | const char* | 名称。 |
#### tk\_thread\_set\_priority 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_set_priority">设置线程的优先级。
> 部分平台支持。
* 函数原型:
```
ret_t tk_thread_set_priority (tk_thread_t* thread, tk_thread_priority_t priority);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| thread | tk\_thread\_t* | thread对象。 |
| priority | tk\_thread\_priority\_t | 优先级。 |
#### tk\_thread\_set\_stack\_size 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_set_stack_size">设置线程的栈大小。
> 需要在调用start之前调用本函数。
* 函数原型:
```
ret_t tk_thread_set_stack_size (tk_thread_t* thread, uint32_t stack_size);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| thread | tk\_thread\_t* | thread对象。 |
| stack\_size | uint32\_t | 栈的大小。 |
#### tk\_thread\_start 函数
-----------------------
* 函数功能:
> <p id="tk_thread_t_tk_thread_start">启动线程。
* 函数原型:
```
ret_t tk_thread_start (tk_thread_t* thread);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| thread | tk\_thread\_t* | thread对象。 |