我一直在用Java學習線程編程,其中有用於線程管理的複雜API。我最近遇到this。我很想知道這些是否現在被使用。 POSIX線程是否過時,還是現在用於C++線程的標準。除了Java以外,我不熟悉線程的其他語言。POSIX主題的範圍
1
A
回答
0
phtreads是當前標準的POSIX線程庫。他們錯過了一些重要的新事物,我希望他們會被更新以適應他們。而且C++ 1x標準還將包含一些內置的線程原語。
pthreads大多缺少原子值操作。例如,沒有線程安全的原始計數器操作,預計將被編譯爲1-5條機器指令。
這些都是需要的,因爲儘管volatile
關鍵字的語義似乎表明您可能能夠將其用於某些這些事情,但事實並非如此。現代CPU以一種經常導致寫入讀寫的方式管理它們的L1,L2和L3高速緩存,不同CPU的讀寫順序不同。當前的優化編譯器可以對操作進行重新排序,因此它們發生的順序不再與它們在源代碼中出現的順序有很多相似之處。
Mutexes,即使是現代Linux版本,除非存在爭用,它們都可以避免任何系統調用,但對於參考計數等重量來說太重了。
C和C++可以改變,所以語言使這些保證一直髮生。但這與他們「高層集會」的精神背道而馳。
相關問題
- 1. 異步主題範圍Vows.JS
- 2. 異步嵌套主題 - 範圍問題
- 3. 訪問RSpec中的父範圍主題?
- 4. 有關POSIX線程的主題
- 5. POSIX主題的自定義屬性
- 6. 範圍問題
- 7. 角根範圍和範圍問題
- 8. 如何增加POSIX線程優先級的範圍?
- 9. 約束主鍵值範圍
- 10. 主動管理範圍4.1
- 11. 如何從excel公式中的主範圍中刪除範圍
- 12. 範圍內 的寬度範圍和iframe主體
- 13. 角範圍問題
- 14. Ruby範圍問題
- 15. MongoDB範圍問題
- 16. $範圍問題angularjs
- 17. Dojo.hitch()範圍問題
- 18. $ .getJSON範圍問題
- 19. JS範圍問題
- 20. AS3範圍問題
- 21. Sencha範圍問題
- 22. user_likes範圍問題
- 23. Jquery範圍問題
- 24. Yacc範圍問題
- 25. Javascript範圍問題
- 26. JavaScript範圍問題
- 27. Backbone.sync範圍問題
- 28. RoR範圍問題
- 29. Javascript範圍問題
- 30. CoffeeScript範圍問題