これは過度ではないでしょうか?私は検索し、C#hereとhereの相互排除とロックについて異なる投稿を見つけました。
例:
私たちのアプリでは、複数の再接続スレッドを回す機能があり、このスレッド内ではMutex
とlock
を使用しています。 lock
はこのコードセクションへのアクセスをブロックし、connect
が他のスレッドによって更新されないようにしませんか?C#のロックとミューテックスを一緒に使用する必要があります
bool connect = false;
Mutex reconnectMutex = new Mutex(false, "Reconnect_" + key);
try
{
lock(site)
{
if(site.ContainsKey(key))
{
siteInfo = (SiteInfo)site[key];
if(reconnectMutex.WaitOne(100, true))
{
connect = true;
}
}
}
if (connect)
{
// Process thread logic
}
}
catch
{}
reconnectMutex.ReleaseMutex();
詳細:
これは、Webガーデンで実行されていないASP.NETのWebサービスです。
それに応じてマシン固有の名前を付ける必要があります。 –
良い点、私はうまくいけば最初の文でそれを明らかにした。 –
catch文を削除して最後に置き換えるべきだと言っていますか? –