pthreadの実行を自己終了するにはどうすればよいですか?実行中のpthreadを終了
私はpthread_exit();
を使用する必要がありますが、私は、パラメータとして何を与えるか、このコード
while(1)
{
if(...)
{
terminate
}
work();
}
がありますか?
pthreadの実行を自己終了するにはどうすればよいですか?実行中のpthreadを終了
私はpthread_exit();
を使用する必要がありますが、私は、パラメータとして何を与えるか、このコード
while(1)
{
if(...)
{
terminate
}
work();
}
がありますか?
マニュアル
によれば
pthread_exit()
関数呼び出し元のスレッドを終了し、pthread_join(3)
を呼び出す同じプロセスで 別のスレッドに利用可能である(スレッドが参加可能である場合)ことretval
介し 値を返します。
これは、参加スレッドに提供する任意の値です。戻り値が必要ない場合は、NULL
を渡すことができます。
多分私はpthread_self()を使うことができますか? – lllook
これはまったく意味をなさないので、 'pthread_t'がポインタであるかどうかはわかりません。どちらの場合でも 'pthread_join'はスレッドを引数として必要とするので、もう一方のスレッドは既に' pthread_t'を知っています。 –
私はスレッドから 'return 0'を簡単に呼び出すことができ、' pthread_exit'を暗黙的に呼び出すことができると思います。 – Lundin
あなたは本当にpthread_exitを返すでしょうか?私はthsiを検索しましたが、これを言っている事実を見つけられませんでした – lllook
いいえ、私はposixスレッドに触れてから年を経ていませんでしたが、それは[RTFM](http://linux.die.net/man/3/pthread_exit) 。 – Lundin