用語集
アプリケーション : ユーザーにグラフィック・インタフェースを表示する特定のスタイルの プログラム。
条件 (condition) : リソースへのアクセスを同期させるために使用される構造体。条件で待機しているスレッドは、別のスレッドが明示的に条件を通知するまで続行できません。
重要なセクション (critical section) : 一度に 1 つのスレッドだけが実行しなければならないコードの部分。
入力ソース (input source) : スレッドの非同期イベントのソース。入力ソースはポートを基本としたものでも手動で起動できるものでも可能で、スレッドの実行ループに接続しなければなりません。
結合可能なスレッド (joinable thread) : 終了時にリソースがすぐに再要求されないスレッド。結合可能なスレッドが、リソースを再要求できるようにする前に、明示的に切り離されるか、別のスレッドによって結合しなければなりません。結合可能なスレッドは、結合するスレッドに戻り値を提供します。
メインスレッド : その所有プロセスが作成されるときに作成される特別な型の スレッド (thread)。プログラムのメインスレッドが終了すると、プロセスは終了します。
mutex : 共有リソースへの相互排他的なアクセスを提供するロック。mutex ロックは、一度に 1 つのスレッドだけが保持できます。別のスレッドが保持する mutex を取得しようとすると、ロックは最後に取得されるまで、現在のスレッドはスリープ状態になります。
操作オブジェクト (operation object) : NSOperation クラスのインスタンス。操作オブジェクトは、タスクに関連したコードとデータを実行可能な単位に包み込みます。
操作キュー (operation queue) : NSOperationQueue クラスのインスタンス。操作キューは、操作オブジェクトの実行を管理します。
プロセス (process) : アプリケーションまたはプログラムの実行時インスタンス。プロセスには、他のプログラムに割り当てられたものとは独立した独自の仮想メモリ空間とシステムリソース (ポート権を含む) があります。プロセスは常に少なくとも 1 つのスレッド (メインスレッド) を含み、任意の数の追加のスレッドを含むことができます。
プログラム : 何らかのタスクを実行するために実行できるコードとリソースの組み合わせ。プログラムはグラフィックユーザーインターフェイスを持つ必要はありませんが、グラフィック・アプリケーションもプログラムと見なされます。
再帰的ロック (recursive lock) : 同じスレッドによって複数回ロックされるロックです。
実行ループ (run loop) : イベント処理ループであり、ループの間、イベントが受信され、適切なハンドラに急送 (dispatch) されます。
実行ループモード : 特定の名前に関連した入力ソース、タイマーソース、および実行ループ監視者 (observer) の集合 (collection)。特定の "モード" で実行されると、実行ループはそのモードに関連したソースと監視者のみを監視 (monitor) します。
実行ループオブジェクト : NSRunLoop クラスまたは CFRunLoopRef の不透明型のインスタンス。これらのオブジェクトは、スレッド内にイベント処理ループを実装するためのインタフェースを提供します。
実行ループ監視者 (run loop observer) : 実行ループの実行のさまざまなフェーズ中に通知の受け取るオブジェクト。
信号 (機)、(semaphore) : 共有リソースへのアクセスを制限する保護された変数。mutex と条件は、どちらも信号 (semaphore) の異なる型です。
タスク (task) : 実行すべき作業の量。
スレッド (thread) : プロセス内の実行フロー。各スレッドには独自のスタック空間がありますが、うでなければ同じプロセス内の他のスレッドとメモリを共有します。
タイマーソース (timer source) : スレッドの同期イベントのソース。タイマーは、予定された将来の時刻に一度だけ、または繰り返しのイベントを生成します。