POSIXスレッド
Pthreads はC言語のデータ型、関数、定数を定義している。その実装は pthread.h というヘッダファイルとスレッドライブラリにある。スレッドのスリープは unistd.h の sleep() もしくは time.h の nanosleep() を使用する。
データ型:
pthread_t: スレッドへのハンドル
pthread_attr_t: スレッド属性
pthread_mutex_t: mutex
pthread_mutexattr_t: mutex の属性
pthread_cond_t: 条件変数
pthread_condattr_t: 条件変数の属性
スレッド操作関数(引数は省略):
pthread_create(): スレッド生成
pthread_exit(): 現在のスレッドを終了
pthread_cancel(): 指定したスレッドの実行をキャンセル
pthread_join(): 現在のスレッドを他のスレッドが終了するまでブロック
pthread_kill(): スレッドへのシグナル送信
pthread_attr_init(): スレッド属性を初期化
pthread_attr_destroy(): スレッド属性の破棄
pthread_attr_getdetachstate(): detachstate属性を取得
POSIXスレッド は、スレッドのPOSIX標準である。スレッド生成やスレッド操作の API を定義している。
POSIXスレッド標準を実装したライブラリは Pthreads と呼ばれることが多い。Pthreads は主にUnix系POSIXシステム(Linux や Solaris)で使われているが、Microsoft Windows 用実装も存在する。例えば、pthreads-w32 は Pthreads の API のサブセットをサポートしている。