---
title: HTL_thread_pool_create
description: "创建线程池。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_ksl_16_0078.html
sourcePath: /source/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_ksl_16_0078.html
indexId: 352f6761c0987b0dbeb317d31ce0e62f09b27a00e0364286d50317f237b041e076
---
# HTL_thread_pool_create

创建线程池。

#### 接口定义

int HTL_thread_pool_create(HTL_thread_pool_t *thread_pool, HTL_thread_pool_type_t pool_type, HTL_thread_pool_access_mode_t access_mode, bool is_auto);


#### 描述

HTL_thread_pool_create()创建一个新的线程池，需指定池的类型pool_type、访问类型access_mode和自动释放标识is_auto，并通过thread_pool返回其句柄。

pool_type指明线程池的实现方式。有关详细信息，请参见枚举HTL_thread_pool_type_t。

access_mode指明对线程池的使用方式。HTL可以具有更受限制访问类型的池选择优化的实现，其中更严格访问类型为HTL_THREAD_POOL_ACCESS_MODE_PRIV。有关详细信息，请参见枚举HTL_thread_pool_access_mode_t。

- 如果is_auto为false，则thread_pool不会自动释放，因此thread_pool在使用后必须由HTL_thread_pool_free()释放，除非thread_pool与主执行器的主调度器关联。
- 如果is_auto为true，则当释放与thread_pool关联的所有调度器时，thread_pool将自动释放。如果用户没有将newpool与调度器关联，则用户需要手动释放thread_pool。


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| thread\_pool | HTL\_thread\_pool\_t \* | 创建线程池句柄的地址。 | 输出 |
| pool\_type | HTL\_thread\_pool\_type\_t | 线程池类型。 | 输入 |
| access\_mode | HTL\_thread\_pool\_access\_mode\_t | 线程池的访问类型。 | 输入 |
| is\_auto | bool | 自动释放池标识。 | 输入 |


#### 返回值

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


#### 示例

```
HTL_thread_pool_t *pools = (HTL_thread_pool_t *)malloc(sizeof(HTL_thread_pool_t) * num_executors);
for (i = 0; i < num_executors; i++) {
HTL_thread_pool_create(HTL_THREAD_POOL_FIFO, HTL_THREAD_POOL_ACCESS_MODE_MIMO, true,
&g_pools[i]);
}
```
