thrd_create
來自 cppreference.com
在標頭檔案 <threads.h> 中定義 |
||
int thrd_create( thrd_t *thr, thrd_start_t func, void *arg ); |
(C11 起) | |
建立一個執行函式 func
的新執行緒。該函式以 func(arg) 的形式被呼叫。
如果成功,thr
指向的物件被設定為新執行緒的識別符號。
此函式的完成與執行緒的開始進行同步。
目錄 |
[編輯] 引數
thr | - | 指向儲存新執行緒識別符號的記憶體位置的指標 |
func | - | 要執行的函式 |
arg | - | 要傳遞給函式的引數 |
[編輯] 返回值
如果新執行緒建立成功,返回 thrd_success。否則,如果記憶體不足,返回 thrd_nomem;如果發生其他錯誤,返回 thrd_error。
[編輯] 注意
一旦執行緒完成並已 присоединить 或 分離,執行緒識別符號可以被新的執行緒重用。
型別 thrd_start_t 是 int(*)(void*) 的 typedef,這與 POSIX 等價的 void*(*)(void*) 不同。
所有執行緒區域性儲存值(參見 tss_create)都初始化為 NULL。
從函式 func
返回等同於呼叫 thrd_exit,其引數等於 func
的返回值。
[編輯] 參考
- C17 標準 (ISO/IEC 9899:2018)
- 7.26.5.1 thrd_create 函式 (p: 279)
- C11 標準 (ISO/IEC 9899:2011)
- 7.26.5.1 thrd_create 函式 (p: 383)
[編輯] 另請參閱
(C11) |
分離執行緒 (函式) |
(C11) |
阻塞直到執行緒終止 (函式) |
C++ 文件 關於 thread
|