zx_thread_create

摘要

建立執行緒。

宣告

#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 是用於控制 並成為該程序的子項。

如需執行緒生命週期的詳細資料,請參閱「執行緒物件」。

權限

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 nameout 是無效的指標,或 options 之前為 非零個值。

ZX_ERR_NO_MEMORY 因記憶體不足而失敗。 使用者空間無法妥善處理這種 (異常) 錯誤。 在日後的版本中不會再發生這個錯誤。

另請參閱