1
A
回答
5
一般來說,互斥操作比遠比磁盤讀取更快。這是因爲他們的預期目的需要最高速度。事實上,我很可能會暗示的任何內存操作都可能比磁盤操作更快。
當然,在磁盤信息被緩存在內存中的情況下可能會出現奇怪的邊緣情況,並且您一遍又一遍地讀取相同的字節,但這並不是真的在讀取磁盤,是不是?
如果你自己找到自己希望檢查這個(並且我會建議它並不是真的有必要),只需編寫幾個程序,第一個鎖定和解鎖一個互斥百萬次,第二個從磁盤讀取一百萬個不同的信息。
運行它們並進行比較。如果由於一些奇怪的因素,磁盤讀取回來得更快,告訴我們你的代碼,我們將解釋你做了什麼錯:-)
+1
我會想象即使對於緩存讀取,也需要某種形式的鎖定... – stefaanv
4
鎖定一個互斥體,通過遠。 RAM + CPU是,比即使是最快的SSD也要快得多。
相關問題
- 1. 自旋鎖VS互斥鎖定睡眠
- 2. 鎖定多個互斥鎖
- 3. C# - 鎖定互斥鎖問題
- 4. 互斥鎖和鎖
- 5. pthread_cond_wait不解鎖互斥鎖
- 6. 互斥鎖/解鎖命令
- 7. 函數可以鎖定互斥鎖嗎?
- 8. 鎖定互斥鎖的分段錯誤
- 9. 成功的互斥鎖鎖定
- 10. 在C++ 98互斥鎖中鎖定變量共享數據互斥鎖
- 11. android NDK互斥鎖定
- 12. 訪問類數據時替代互斥鎖/解鎖
- 13. pthread_getspecific和互斥鎖
- 14. 釋放互斥鎖。
- 15. 實現互斥鎖?
- 16. 顯示器VS互斥鎖在C#
- 17. pthread互斥鎖兩個線程互鎖鎖定/解鎖是否有效?
- 18. Boost ::線程互斥問題:嘗試鎖定,訪問衝突
- 19. 多線程互斥鎖可以使用多個互斥鎖
- 20. 使用waitKey時,「試圖解鎖未被鎖定的互斥鎖」
- 21. 獲取對兩個互斥鎖的鎖定並避免死鎖
- 22. 永久互斥鎖造成死鎖?
- 23. 遞歸和非遞歸鎖(互斥鎖)
- 24. 獲取互斥鎖列表?
- 25. 南特的互斥鎖
- 26. C - 互斥鎖屬性
- 27. 鎖,監視器,互斥
- 28. 「安全」處理互斥鎖?
- 29. 互斥鎖如何工作?
- 30. procs,fork()和互斥鎖
不確定這個問題的背景。在沒有爭用的情況下,互斥鎖將成爲內核調用和後退。從硬盤讀取的無緩衝磁盤意味着用戶>內核>驅動程序> SATA>控制器>移動機械師/ waitingForSector,然後再返回,如此冗長。你能用更多的上下文來改進你的問題嗎? –
@MartinJames:無爭議的互斥鎖甚至可能不涉及內核調用 - 在現代Linux中,它只是在用戶空間中測試並設置一個標誌。 –
電話放映問題? :) – blaze