最終更新:2016-11-28 (月) 17:47:50 (2697d)  

pthread
Top / pthread

POSIX仕様に基づく非同期処理の仕組み

ヘッダファイル

pthread/関数

スレッド

pthread_create - 新しいスレッドを作成する

  • pthread_create(pthread_t? * thread, pthread_attr_t? * attr, void * (*start_routine)(void *), void * arg)
  • スレッドが正常に作成出来た時にthreadにスレッドIDが格納される

pthread_exit - 呼び出したスレッドを終了する

pthread_join - 指定されたスレッドが終了するのを待つ

pthread_detach - スレッドを切り離す

  • pthread_detach(pthread_t? thread)
  • threadが示すスレッドIDのスレッドが終了した時に、そのスレッドのメモリを回収してもよい事を宣言
  • いったんスレッドを detached 状態にすると、 そのスレッドを pthread_join で join したり、 もう一度 join 可能にしたりすることはできない。

pthread_cancel - スレッドにキャンセル要求を送る

pthread_equal - スレッド ID を比較する

pthread_self - カレントスレッドのIDを返す

pthread/ミューテックス

スレッドの終了条件

  • スレッドがpthread_exitを呼び出す
  • スレッドがstart_routine()から返る
  • スレッドがキャンセルされる (pthread_cancel)
  • プロセス内のいずれかのスレッドでexitが呼ばれるか、メインスレッドのmain内でreturnが実行される

pthreadリファレンス

関連

参考