「ロックで同時アクセス回避」の編集履歴(バックアップ)一覧はこちら
「ロックで同時アクセス回避」(2006/04/11 (火) 09:42:59) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
複数スレッドで、変数等に同時アクセスすると困る場合、
ロックオブジェクトを生成して、回避する方法がある。
まず、ロック用のオブジェクトを生成
private Object LockObj = new Object();
同時アクセスを回避したいところで、
private void Hogehoge()
{
Lock(LockObj)
{
// 同時アクセスしたくない処理
}
}
Lockのカッコ内は1つのスレッドしか入って来れず、
同時にアクセスしたとしても、先着順で待たされる。
先に入ったスレッドが、カッコから抜けたら、
次のスレッドが処理を行う。
ちなみにこの方法は結構重いので、使いどころはよく考慮する。
表示オプション
横に並べて表示:
変化行の前後のみ表示: