JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ファイル) を規定している。一つのプロセスは複数のスレッドを持つことができ、 全てのスレッドは同じプログラムを実行する。 これらのスレッドは同じ大域メモリー (データとヒープ領域) を共有 ... するが、 各スレッドは自分専用のスタック (自動変数) を持つ。 POSIX.1 はスレッド間でどのような属性を共有するかについても定めている (つまり、これら ... の属性はスレッド単位ではなくプロセス全体で共通である): - プロセス ID - 親プロセス ID - プロセスグループ ID とセッション ID - 制御端末 - ユー ... ... ジューリングポリシーとパラメーターを設定する。 sched_getscheduler (2) 指定されたスレッドのスケジューリングポリシーを返す。 sched_setparam (2) 指定されたスレッドのスケジューリングパラメーターを設定する。 sched_get ... param (2) 指定されたスレッドのスケジューリングパラメーターを取得する。 sched_get_priority_max (2) 指定されたスケジューリングポリシーで利用可能な最小の優 ... ーで利用可能な最大の優先度を返す。 sched_rr_get_interval (2) 「ラウンドロビン」スケジューリングポリシーでスケジューリグされるスレッドで使用される単位時間 (quantum) を取得する。 sched_yield (2) 呼び出し元が CPU の使用権を明け渡して、 他のスレッドが実行できる ... ... d *), void * arg ); -pthread を付けてコンパイルとリンクを行う。 説明 pthread_create () 関数は、呼び出したプロセス内に新しいスレッドを作成する。 新しいスレッドの実行は、 start_routine () を起動することで開始される。 start_routine () は引数を一つだけ取り、 ... arg が start_routine () の引数として渡される。 新しく作成されたスレッドは、以下のいずれかで終了する。 * スレッドが pthread_exit (3) を呼び出す。 pthread_exit (3) を呼び出す際には終了ステータス値を ... 指定する。 この値は pthread_join (3) を呼び出した同じプロセス内の 別のスレッドで参照できる。 * スレッドが start_routine () から返る。これは、 return 文に渡した値で pthread_exit (3) を呼び出すのと等価であ ... ... ンパイルとリンクを行う。 説明 pthread_join () 関数は、 thread で指定されたスレッドが 終了するのを待つ。そのスレッドがすでに終了している場合、 pthread_join () はすぐに返る。 thread で指定されたスレッドは joi ... n 可能でなければならない。 retval が NULL でない場合、 pthread_join () は対象スレッドの終了ステータス (すなわち、対象スレッドが pthread_exit (3) に渡した値) を retval が指す場所にコピーする。対象スレッドがキャ ... ンセルされた場合、 retval が指す場所には PTHREAD_CANCELED が格納される。 複数のスレッドが同時に同じスレッドを join しようとした場合、その結果 は不定である。 pthread_join () を呼び出しているスレッドがキャンセル さ ... ... 出し元のプロセス」は、通常は 「親プロセス」と一致する。但し、後述の CLONE_PARENT の項も参照のこと) clone () の主要な使用法はスレッド (threads) を実装することである: 一つのプログラムの中の複数のスレッドは共有されたメモリー空間で 同時に実行される。 clone () ... ONE_CHILD_CLEARTID (Linux 2.5.49 以降) 子プロセスが終了したときに子プロセスのメモリー内の ctid が指す場所にある子プロセスのスレッド ID を消去し、 そのアドレスで futex を wake (起床) させる。 このアドレスは set_tid_address (2) システムコールで変更すること ... ができる。 この機能はスレッドライブラリで使用される。 CLONE_CHILD_SETTID (Linux 2.5.49 以降) 子プロセスのメモリー内の ctid が指す場所に子プロセスのスレッ ... ... 出し元のプロセス」は、通常は 「親プロセス」と一致する。但し、後述の CLONE_PARENT の項も参照のこと) clone () の主要な使用法はスレッド (threads) を実装することである: 一つのプログラムの中の複数のスレッドは共有されたメモリー空間で 同時に実行される。 clone () ... ONE_CHILD_CLEARTID (Linux 2.5.49 以降) 子プロセスが終了したときに子プロセスのメモリー内の ctid が指す場所にある子プロセスのスレッド ID を消去し、 そのアドレスで futex を wake (起床) させる。 このアドレスは set_tid_address (2) システムコールで変更すること ... ができる。 この機能はスレッドライブラリで使用される。 CLONE_CHILD_SETTID (Linux 2.5.49 以降) 子プロセスのメモリー内の ctid が指す場所に子プロセスのスレッ ... ... 出し元のプロセス」は、通常は 「親プロセス」と一致する。但し、後述の CLONE_PARENT の項も参照のこと) clone () の主要な使用法はスレッド (threads) を実装することである: 一つのプログラムの中の複数のスレッドは共有されたメモリー空間で 同時に実行される。 clone () ... ONE_CHILD_CLEARTID (Linux 2.5.49 以降) 子プロセスが終了したときに子プロセスのメモリー内の ctid が指す場所にある子プロセスのスレッド ID を消去し、 そのアドレスで futex を wake (起床) させる。 このアドレスは set_tid_address (2) システムコールで変更すること ... ができる。 この機能はスレッドライブラリで使用される。 CLONE_CHILD_SETTID (Linux 2.5.49 以降) 子プロセスのメモリー内の ctid が指す場所に子プロセスのスレッ ... ... 出し元のプロセス」は、通常は 「親プロセス」と一致する。但し、後述の CLONE_PARENT の項も参照のこと) clone () の主要な使用法はスレッド (threads) を実装することである: 一つのプログラムの中の複数のスレッドは共有されたメモリー空間で 同時に実行される。 clone () ... ONE_CHILD_CLEARTID (Linux 2.5.49 以降) 子プロセスが終了したときに子プロセスのメモリー内の ctid が指す場所にある子プロセスのスレッド ID を消去し、 そのアドレスで futex を wake (起床) させる。 このアドレスは set_tid_address (2) システムコールで変更すること ... ができる。 この機能はスレッドライブラリで使用される。 CLONE_CHILD_SETTID (Linux 2.5.49 以降) 子プロセスのメモリー内の ctid が指す場所に子プロセスのスレッ ... ... ze_t cpusetsize , const cpu_set_t * mask ); int sched_getaffinity(pid_t pid , size_t cpusetsize , cpu_set_t * mask ); 説明 スレッドの CPU affinity (親和度) マスクは、そのスレッドが 実行を許可されている CPU の集合を決定する。 マルチプロセッサシステムでは、 ... CPU affinity マスクを設定することで 性能上のメリットを得られる可能性がある。 例えば、特定のスレッドを一つの CPU に括り付け (すなわち、そのスレッドの affinity マスクを一つの CPU に設定し)、 他の全てのスレッドの affinity マス ... クからその CPU を除外することで、 確実にそのスレッドの実行速度を最大にすることができる。 また、あるスレッドの実行を一つの CPU に限定することで、 一つの CPU での実行を停止してか ... ... ze_t cpusetsize , const cpu_set_t * mask ); int sched_getaffinity(pid_t pid , size_t cpusetsize , cpu_set_t * mask ); 説明 スレッドの CPU affinity (親和度) マスクは、そのスレッドが 実行を許可されている CPU の集合を決定する。 マルチプロセッサシステムでは、 ... CPU affinity マスクを設定することで 性能上のメリットを得られる可能性がある。 例えば、特定のスレッドを一つの CPU に括り付け (すなわち、そのスレッドの affinity マスクを一つの CPU に設定し)、 他の全てのスレッドの affinity マス ... クからその CPU を除外することで、 確実にそのスレッドの実行速度を最大にすることができる。 また、あるスレッドの実行を一つの CPU に限定することで、 一つの CPU での実行を停止してか ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。