はじめに スレッド(thread)は、代表的な非同期処理の仕組みの1つで、例えるならプロセスの中で動くプロセスという感じで、軽量プロセス(lightweight process)と呼ばれたりもします。pthreadはPOSIXが仕様化したスレッドモデルで、POSIX仕様を満たしているOS間では基本的には移植が可能ですが、個人的な感想では、主にUNIX系OSで使用されているようです。 大変便利なんですが、しかし複数のスレッドを矛盾無く動かす事はとても難しく、またデバックも困難で、作りを誤ると環境次第で動きが違ったりします。有用な実装方法はネット上でもそれ程見当たらず、本も少ないうえに英文を強引に訳してるだけの古い本ばかりで、なかなか理解が困難だと思います。 当レポートはpthreadに関する調査・試行錯誤した結果、躓きやすい箇所、実装依存と思われる箇所等、独断と偏見と誤解とたくさんのサンプル