読者です 読者をやめる 読者になる 読者になる

スレッドの作り方

なんだかスレッドの調子が悪いな〜。動作が不安定。
って思ってたらCreateThreadを使ってるのが原因だった。
Windowsでスレッドを作るには_beginthread,_beginthreadex,CreateThreadの3種類の関数がありますが、_beginthreadexを使うのがベターらしい。
CreateThreadはCRT関数の初期化がうまく行われないし、_beginthreadもハンドルが正常に返られない状況があり得るらしい。
_beginthreadよりも_beginthreadexがよいってMSDNにはっきり書いてありますが、CreateThreadはどうか?ってことは明記されていなかったのでどっちでもよいんだと思ってたよ。
assertで停止したときにすごい無駄なブロック時間があるので調べてたらそういうことらしい。するっと停止するようになったΣ( ̄ロ ̄)

_beginthreadexを使いましょう。