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 和控制代碼 (透過「出」) 傳回至新的執行緒。如果失敗,系統會傳回負值錯誤值。

錯誤

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 因記憶體不足而失敗。使用者空間無法以任何方式處理這個錯誤 (極可能) 錯誤。日後的建構作業不會再發生這個錯誤。

另請參閱