TILmutexif(mutex==true)lock(mutex)のようなコードだと、テストとロックの間にほかのスレッドがmutexをとる可能性がわずかにある。特殊な実装でそれを回避している。idの比較pthread_t型の比較にはpthread_equal関数を使う。==は処理系によって動かない。IOJavaはIOは排他になっているが、pthreadでは自分で排他にしないといけないmutexの属性mutexの属性の一つに、別プロセスのスレッドから見えるかどうか、という属性がある。プロセス間でのロックに使える。ふつうは同期にはSystemVかposixのセマフォを使う。状態変数pthread_cond_t型スレッドは状態変数を持てる。同じ状態変数を持っているほかのスレッドにシグナルを送信できる送信関数はpthread_cond_signalか、broadcastシグナルはひとつのスレッドを起こし、broadcastはすべて起こす。JavaのnotifyとnotifyAllみたいなもの?起こされるのは、pthread_cond_waitで同じ状態変数で待っているスレッド途中まで読んでみてちょっとサンプルの書き方が古いというか、Cの書き方なのが気になる。出版が古いし、pthread自体も古いからしかたがない。ところで、サンプルコードがやたらとmallocして、しかもfreeしてない箇所があるのが気になる。非同期処理で何が難しくなるかというと、生成と削除だと思っていたので、そのあたりの扱いが雑なのが不満。後の賞で説明が入るのだろうか?本当はもう読み終わっているはずだったがまだ読み終わらず今回、本を読みながら記事用のメモをとる、という方式にしてみた。読むより頭に入って良かったので、この本一冊分は同じ方法を試す予定。あまりに読むのが遅くなるなら考え直す。22:51Pthreadsプログラミング読書メモ1関連記事2016-02-28積んでる技術書に読む優先度をつけよう(2016/02/28)いつまでも消化できないので、直近で何が必要かを考えてみる。更新は不定期ですので、登録をおすすめします。最近はJavascriptを少し触っている。オオサカ堂スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。