- 8 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 08:41:59 ]
- >>7
変数だと たとえばaが0以外になると次の処理に進む。 while(true) { if( a != 0 ) break; Sleep(100); } 最適化されて if( a == 0 ) { while(true) { Sleep(100); } } になってしまうことないようにvolatile使うんじゃないの。 でも俺は最適化とvolatileが上手く機能するか調べたことない。 同期イベントなら関数コールして調べるので前期のような最適化はかからない。 また、上記だと1秒間に10回aを調べる。 aの値が変化しても反応が最大で100ミリ秒遅れる。 かといってSleepを減らすとこの空回りするループにCPU処理を使ってしまい無駄。
|

|