中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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]);
    }