Win32API質問箱 Build62
at TECH
632:デフォルトの名無しさん
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
4409日前に更新/212 KB
担当:undef