PortableThread

提供:やる気向上作戦
移動: 案内, 検索

WindowsLinuxPortability


スレッド関連の機能

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タイプに初期化した場合のみ、上記動作になる。

個人用ツール