摘要
建立執行緒。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_thread_create(zx_handle_t process,
                             const char* name,
                             size_t name_size,
                             uint32_t options,
                             zx_handle_t* out);
說明
zx_thread_create() 會在指定的程序內建立執行緒。
成功處理後,系統會傳回新執行緒的控制代碼。討論串
才會在呼叫 zx_thread_start() 後才開始執行。
系統會將 name 的字元截斷,而且不得超過 ZX_MAX_NAME_LEN-1 個字元。
執行緒帳號代碼可能會等候,並會斷言訊號
執行緒停止執行時的 ZX_THREAD_TERMINATED (因為
zx_thread_exit())。
如需執行緒生命週期的詳細資料,請參閱「執行緒物件」。
權限
process 必須是 ZX_OBJ_TYPE_PROCESS 類型,且包含 ZX_RIGHT_MANAGE_THREAD。
傳回值
成功時,zx_thread_create() 會傳回 ZX_OK 和一個控制代碼 (透過 out)
新的執行緒。失敗時,負的錯誤值為
。
錯誤
「ZX_ERR_BAD_HANDLE」程序不是有效的帳號代碼。
「ZX_ERR_WRONG_TYPE」並非處理程序。
ZX_ERR_ACCESS_DENIED  程序沒有 ZX_RIGHT_MANAGE_THREAD 的權利。
ZX_ERR_INVALID_ARGS  name 或 out 是無效的指標,或 options 之前為
非零個值。
ZX_ERR_NO_MEMORY 因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。