タグ付けされた質問 「pthreads」

Pthreads(POSIX Threads)は、スレッドを作成および操作するための標準化されたCベースのAPIです。現在、POSIX.1-2008(IEEE Std 1003.1、2013 Edition / The Open Group Base Specification Issue 7)で定義されています。

3
ミューテックスをロックせずにpthread_cond_signalを呼び出す
pthread_cond_signalを呼び出す前にミューテックスをロックし、呼び出した後にミューテキストのロックを解除する必要があることをどこかで読みました。 pthread_cond_signal()ルーチンは、条件変数を待機している別のスレッドに信号を送る(またはウェイクアップする)ために使用されます。ミューテックスがロックされた後に呼び出す必要があり、pthread_cond_wait()ルーチンを完了するためにミューテックスのロックを解除する必要があります。 私の質問は、ミューテックスをロックせずにpthread_cond_signalまたはpthread_cond_broadcastメソッドを呼び出しても大丈夫ではないかということです。

4
POSIXスレッドとシグナル
私は、POSIXスレッドとPOSIXシグナルがどのように相互作用するかについての複雑さを理解しようとしてきました。特に、私は興味があります: シグナルが配信されるスレッドを制御するための最良の方法は何ですか(そもそも致命的ではないと仮定して)? シグナルが到着したことを別のスレッド(実際にはビジーである可能性があります)に伝える最良の方法は何ですか?(シグナルハンドラーからpthread条件変数を使用するのは悪い考えであることはすでに知っています。) シグナルが発生したという情報を他のスレッドに渡すことを安全に処理するにはどうすればよいですか?これはシグナルハンドラーで発生する必要がありますか?(私は一般的に他のスレッドを殺したくありません;私ははるかに微妙なアプローチが必要です。) これが必要な理由については、TclXパッケージを変換してスレッドをサポートする方法、または分割して少なくともいくつかの便利なパーツでスレッドをサポートする方法を研究しています。信号は、特に興味深い部分の1つです。
81 c  pthreads  signals 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.