---
title: HTL_thread_free
description: "释放线程。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/accel/kunpengaccel_ksl_16_0086.html
sourcePath: /source/zh/kunpengboostkithistory/2300/accel/kunpengaccel_ksl_16_0086.html
indexId: ebd0366c9cf4c15b966c4646e7cbfe37a894547e4cfac5f3106209c7a05f4b2274
---
# HTL_thread_free

释放线程。

#### 接口定义

int HTL_thread_free(HTL_thread_t *thread);


#### 描述

HTL_thread_free()用于释放轻量级线程ULT的thread资源，并将thread设置为HTL_THREAD_NULL。如果thread仍在运行，则此例程将在thread上阻塞，直到thread终止。

由于未命名的ULT将在终止后立即释放，因此无需通过此例程释放未命名的ULT。此例程无法释放主ULT或主调度器的ULT。只有一个调用者可以加入或释放同一ULT。


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| thread | HTL\_thread\_t \* | 线程句柄的地址。 | 输入/输出 |


#### 返回值

- HTL_THREAD_SUCCESS：成功。
- 其他：失败。见错误码定义。


#### 示例

```
/* Create Thread */
for (i = 0; i < num_threads; i++) {
arg[i] = i;
ret = HTL_thread_create(&threads[i], NULL, thread_create, &arg[i]);
}
/* Join and free ULTs */
for (i = 0; i < num_threads; i++) {
void* retval;
ret = HTL_thread_join(&threads[i], &retval);
ret = HTL_thread_free(&threads[i]);
}
```
