我如何在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. promisifying同步功能
- 2. Coldfusion FTP的同步功能
- 3. 批處理功能同步?
- 4. 同步節點js功能
- 5. 同步執行功能
- 6. 同步功能的Java
- 7. 異步調用同步功能
- 8. 自動同步功能不起作用
- 9. 在Javascript的功能同步問題
- 10. 同步功能的保管箱
- 11. 流星執行功能同步
- 12. 在同步功能中使用承諾
- 13. 串行讀取功能同步的Linux
- 14. Angular ng-show與功能不同步
- 15. 通過FIFO進入同步功能
- 16. 如何創建同步功能
- 17. 如何在angularjs功能同步執行
- 18. 異步功能
- 19. 如何確保在完成3個異步功能後執行同步功能
- 20. Syncronize異步功能
- 21. 如何使同步功能在異步的NodeJS
- 22. 如何拒絕同步和異步代碼功能的承諾?
- 23. PHP郵件功能是同步的還是異步的?
- 24. 異步功能將數據傳遞給異步功能
- 25. 在節點Js中使用異步功能而不是同步功能有什麼性能優勢?
- 26. 2線程在同一時間訪問到同步功能
- 27. Allegro CL,調試功能一步一步
- 28. 異步功能查看
- 29. 殺異步功能的node.js
- 30. Swift異步功能滯後
您是否試圖防範功能或成員數據? – 2010-05-12 19:42:06
函數,實際上,它是寫入文件的函數,並且它在嘗試執行multywright時有時會崩潰... – aharon 2010-05-12 20:31:59