Win32API質問箱 Build62at TECH
Win32API質問箱 Build62 - 暇つぶし2ch632:デフォルトの名無しさん
08/02/21 09:33:38
>>630
使い方・・・ねぇ
例えば LONG 変数があったとして、
LONG x;
この値を普通に操作すると、スレッド間で競合が起きるだろ?
BOOL Lock() {
 if (x == 0) { x = 1; return true; }
 else { return false; }
}
void Unlock() {
 x = 0;
}
InterlockedExchangeを使えば、そういった問題は起きない
BOOL Lock() {
 if (InterlockedExchange(&x, 1) == 0) { return true; }
 else { return false; }
}
void Unlock() {
 InterlockedExchange(&x, 0);
}
こんな例でわかるかなぁ・・・


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch