PortableThread
提供:やる気向上作戦
スレッド関連の機能
Win32<->Linux 機能対照
- Win32 Event ≒ pthread_cond_t, semaphore
- CRITICAL_SECTION ≒ pthread_mutex_t
- Win32のMutex に対応するものはSystemVセマフォ等
- Win32 Semaphore ≒ SystemVセマフォ
CreateThread() or _beginthread()
Visual C++を使用する場合、できるだけ_beginthread(), _endthread()を使うべきである。
CreateThread()では、ctime()等のC関数を利用するとメモリリークが発生する。
CRITICAL_SECTION と pthread mutex
同一スレッドがクリティカルセクションに再入しようとしたときの動作の違いに留意する必要がある。
CRITICAL_SECTIONは、同一スレッドがEnterCriticalSection()しようとした場合ブロックしない。
pthread_mutex_tは、recursiveタイプに初期化した場合のみ、上記動作になる。