2016-04-04 18 views
0

pthreadの実行を自己終了するにはどうすればよいですか?実行中のpthreadを終了

私はpthread_exit();を使用する必要がありますが、私は、パラメータとして何を与えるか、このコード

while(1) 
{ 
    if(...) 
    { 
    terminate 
    } 
    work(); 
} 

がありますか?

+0

私はスレッドから 'return 0'を簡単に呼び出すことができ、' pthread_exit'を暗黙的に呼び出すことができると思います。 – Lundin

+0

あなたは本当にpthread_exitを返すでしょうか?私はthsiを検索しましたが、これを言っている事実を見つけられませんでした – lllook

+1

いいえ、私はposixスレッドに触れてから年を経ていませんでしたが、それは[RTFM](http://linux.die.net/man/3/pthread_exit) 。 – Lundin

答えて

2

マニュアル

によればpthread_exit()関数呼び出し元のスレッドを終了し、pthread_join(3)を呼び出す同じプロセスで 別のスレッドに利用可能である(スレッドが参加可能である場合)ことretval介し 値を返します。

これは、参加スレッドに提供する任意の値です。戻り値が必要ない場合は、NULLを渡すことができます。

+0

多分私はpthread_self()を使うことができますか? – lllook

+0

これはまったく意味をなさないので、 'pthread_t'がポインタであるかどうかはわかりません。どちらの場合でも 'pthread_join'はスレッドを引数として必要とするので、もう一方のスレッドは既に' pthread_t'を知っています。 –

関連する問題