定義
スレッド - 実行可能/コンピューティングエンティティ
説明
スレッド実行コンテキストオブジェクトは、共有CPU時間の構造を示す図です。オブジェクトに関連付けられた特定のスレッドが中に存在するプロセス・オブジェクト、I / Oやメモリや他のオブジェクトを処理するために必要な計算が提供されます。
生存
[呼び出すことにより、スレッドzx_thread_create()
作成]が、唯一の[呼び出した後zx_thread_start()
]または[ zx_process_start()
とき]を開始しました。これら2つのシステムは、パラメータとして、初期エントリポイントを実行するルーチンを呼び出します。
渡されたzx_process_start()
スレッド]実行の過程でスレッドを開始する必要があります。
実行を終了スレッド:
- 呼び出すことにより、[
zx_thread_exit()
] - 呼び出すことにより、[
zx_vmar_unmap_handle_close_thread_exit()
] - 呼び出すことにより、[
zx_futex_wake_handle_close_thread_exit()
] - 親プロセスが終了すると
- 呼び出し元のスレッドでハンドルパラメータで[
zx_task_kill()
] - 例外ハンドラまたはハンドラ後にスレッドを終了する決定に応答しません。
エントリポイント関数が戻るから、スレッドが実行を終了しません。最後に、操作は、エントリポイント関数呼び出し[なければならないzx_thread_exit()
]又は上記_exit()
変異体。
最後のスレッドを終了しないスレッドハンドルを閉じます。スレッドハンドルを殺すために強制するには、[使用し、使用できないzx_object_get_child()
スレッドハンドルを取得します]。強く、このメソッドを使用しないことをお勧めします。破損している状態であることのプロセス内のスレッドの実行を殺すかもしれません。
フクシアネイティブスレッドは、常にされている分離します。言い換えれば、*クリーンな終了を完了するために、()*操作に参加する必要はありません。しかし、実行時のカーネルの数にruntimes
、このようなC11やPOSIXスレッドなど、あなたが接続する必要があります。
システムコール
- [
zx_thread_create()
] -プロセスで新しいスレッドを作成 - [
zx_thread_exit()
] -現在のスレッドを終了します - [
zx_thread_read_state()
] -スレッドからの登録ステータスを読み出します - [
zx_thread_start()
] -新しいスレッドが実行を開始します - [
zx_thread_write_state()
] -スレッドの状態を変更登録
- [
zx_task_bind_exception_port()
] -タスクにアタッチ例外ポート - [
zx_task_kill()
] -タスクが実行を停止します