我如何在C#中,我的功能將被互斥看守信號在JAVA又名同步功能做同步功能
同步功能
回答
你不想像Java一樣同步函數 - 它們是一個糟糕的主意,因爲它們使用了一個其他可能會干擾的鎖構造。你想要的是一個鎖定對象。基本上,你要保護的類,在您需要同步,使用鎖結構,自動進入和離開鎖定任何方法來創建對象類型的私有成員變量
private readonly object lock_ = new object();
然後: -
public void SomeMethod()
{
lock(lock_)
{
// ...... Do Stuff .........
}
}
我以爲這就是我說的。 – 2010-05-12 19:44:05
...和變量名稱後面的下劃線*。有一個我從未見過的約定。 – 2010-05-12 19:45:27
這是釋義版本:) – 2010-05-12 19:45:37
有做到這一點沒有什麼好辦法,除非自己做:
private readonly object _locker = new object();
public void MyMethod()
{
lock (_locker) {
// Do something
}
}
實際上有一個互斥對象;這是一個壞主意嗎? – 2010-05-12 19:46:10
互斥鎖比鎖定(監視器對象)慢。它只是用於跨進程通信,我相信使用操作系統內置的互斥功能。 – 2010-05-12 19:48:00
正如John所說,你可以使用lock()
,這與Monitor.Enter和Monitor.Exit是一樣的。如果您需要跨進程互斥量,請使用互斥量類。
- 1. 以同步功能
- 2. promisifying同步功能
- 3. 角功能同步化
- 4. 批處理功能同步?
- 5. Coldfusion FTP的同步功能
- 6. 同步執行功能
- 7. 爪哇:同步功能
- 8. 同步功能的Java
- 9. 同步節點js功能
- 10. 異步調用同步功能
- 11. 同步執行異步功能
- 12. 異步功能
- 13. 在功能步
- 14. 何時同時運行異步功能?
- 15. 流星執行功能同步
- 16. 在同步功能中使用承諾
- 17. 串行讀取功能同步的Linux
- 18. 同步功能,但不關閉DBM
- 19. 如何創建同步功能
- 20. 如何在angularjs功能同步執行
- 21. 自動同步功能不起作用
- 22. 寫作/轉換流星同步功能
- 23. 通過FIFO進入同步功能
- 24. 如何創建同步功能的Flex
- 25. Angular ng-show與功能不同步
- 26. Laravel:呼叫同步或附加功能
- 27. 我的功能需要同步嗎?
- 28. AWS S3同步功能 - 丟失文件
- 29. 在Javascript的功能同步問題
- 30. 同步功能的保管箱
您是否試圖防範功能或成員數據? – 2010-05-12 19:42:06
函數,實際上,它是寫入文件的函數,並且它在嘗試執行multywright時有時會崩潰... – aharon 2010-05-12 20:31:59