我正在嘗試同步臨界區中的線程,但我需要根據值進行同步。 例如,如果你有代表不同人的工作線程(例如bob,fred,bill),那麼Bob和Bill的線程可能是併發的,但是Bob的所有線程都將被同步,因此只有1個可以通過關鍵部分一次。我最初的想法是使用命名互斥鎖,但不知道如何管理它們。也許是某種類型的命名互斥體字典。有沒有人做過類似的事情?基於值的線程同步
Q
基於值的線程同步
2
A
回答
1
- 如果你有一個
Person
類代表的人(鮑勃,比爾,等等),你可以在該實例lock
。 - 如果您沒有代表
Person
的課程,請創建一個Dictionary
,將您的人員的唯一標識符映射到名爲Mutex
對象的實例。對字典本身的訪問應該是同步的。另外請注意,在.NET中創建互斥量並不重要。詳情請參閱this answer。
4
通常,在這種情況下,每個用戶將有一個User
實例。
如果是這樣,那麼您可以在該用戶實例上使用lock()
。
相關問題
- 1. 基於ID的線程同步
- 2. 線程同步基元
- 3. Java基本同步線程
- 4. 監控VS基於WaitHandle的線程同步
- 5. fcntl()用於線程或進程同步?
- 6. 線程同步
- 7. 線程同步
- 8. 線程同步
- 9. 線程同步
- 10. 線程/同步
- 11. 線程同步
- 12. 同步線程
- 13. 線程同步
- 14. 線程同步
- 15. 多線程,線程同步
- 16. 線程同步VS進程同步
- 17. 同步線程中的同步問題
- 18. Python線程同步
- 19. 線程和同步
- 20. 線程和同步
- 21. .NET線程同步
- 22. 同步:ImageDownloader線程
- 23. 線程vs同步
- 24. Python線程同步
- 25. C#線程同步
- 26. 同步線程IllegalStateException
- 27. Java線程「同步」
- 28. 線程同步101
- 29. 線程同步:C
- 30. 多線程同步
@jsp,就像SLaks說的那樣,對當前用戶使用'lock',http://msdn.microsoft.com/en-us/library/c5kehkcz(v=vs.110).aspx – Jodrell 2012-08-17 15:51:12