나는 다중 스레드 C# 응용 프로그램을 가지고 있습니다. 동시에 N 개의 다른 스레드에서 액세스하는 사전이 하나 있습니다. 호출의 99 %는 스레드 A에서 온 것이고 나머지는 B, C, ...에서 나온 것입니다.C# 스레딩 성능, 한 스레드 99 % 시간
지금 당장은 각 액세스에서 사전을 잠글 것입니다. 하지만 시간 낭비라고하는 99 %의 시간이 스레드 A에 이미 잠겨 있기 때문에 낭비가됩니다.
이 작업을 수행하는보다 효율적인 방법은 무엇입니까?
어떤 종류의 .Begin과 .End 호출은 B, C, ... 스레드에 필요할 수 있습니다. 그러면 스레드 A는 각 호출에서 하나의 비트를 검사하여 다른 스레드가 사용하고 있는지 확인해야합니다. 사전. 누구든지 스레드 안전 방식으로 구현 된 이와 같은 코드 샘플을 가지고 있습니까?
이 참조 디자인 http://stackoverflow.com/questions/157933/whats-the-best-way-of-implementing-a에 의해 안전 스레드의 시도 -thread-safe-dictionary-in-net –