과도 함이 아닌가요? 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();
추가 정보 : 이것은 ASP.NET WebService를 웹 가든에서 실행되지이다
.
따라서 기계 별 이름을 지정해야합니다. –
좋은 점은, 첫 번째 문장에서 그 점을 분명히 밝혀 줬습니다. –
catch 문을 제거하고 마지막 문으로 대체해야한다고 말하는 것입니까? –