我不明白。這不是多線程的全部想法嗎?爲什麼同一進程中的兩個線程無法在兩個處理器上同時運行?
回答
在您鏈接到的文章中,它將此列表限制爲用戶級線程(由應用程序本身實現,而不受OS級別線程支持)的限制。
這是正確的,但它並不適用於「真實」線程。操作系統可以自由地在多個處理器上安排它們。
既然大多數操作系統都支持多線程,我相信那些用戶級線程已成爲過去。
所以,是的,多線程的要點是能夠在您想要分配的CPU上並行運行代碼。對於沒有適當的本地線程支持的平臺,「用戶級線程」是一種解決方法,並且在您描述的方式(單個應用程序進程沒有多個CPU)方面受到限制。
「真正的」線程,你的意思是內核級線程? –
我的意思是暴露給操作系統並由其調度的線程。 「內核級」聽起來有點模糊(那些仍然是運行應用程序代碼的線程)。 – Thilo
我相信用戶級別的線程仍然存在。即使現在我們在.Net和java中做了很多多線程,以獲得更好的響應時間。 –
- 1. 同時運行兩個無限進程
- 2. 在兩個不同的進程上運行兩個活動
- 3. 爲什麼node.js運行兩個進程?
- 4. 可以兩個線程同時運行在同一個對象上
- 5. 如何強制兩個進程在同一個CPU上運行?
- 6. 爲什麼多處理在同一個進程中運行的東西?
- 7. 與不同的睡眠時間同時運行兩個線程
- 8. 在不同的處理器中並行執行兩個程序
- 9. GDB:同時調試一個進程的兩個線程
- 10. 爲什麼單個線程進程在多個處理器/內核上執行?
- 11. 爲什麼兩個線程實現的行爲不同?
- 12. 在一個進程中創建的posix線程可以跨兩個物理處理器並行運行嗎?
- 13. 在兩個線程中同時中止()
- 14. 如何在同一時間運行兩個線程? Qt C++
- 15. 無法同步兩個線程
- 16. 兩個線程調用同一個方法時線程同步的困惑
- 17. 如何在python中同時運行兩個線程?
- 18. 在java中同時運行兩個線程
- 19. 如何在java中同時運行兩個線程
- 20. 如何在目標C中同時運行兩個多線程?
- 21. 如何在Event dispatch線程中同時運行兩個組件?
- 22. 在Jmeter中同時運行兩個線程組
- 23. 如何同時在兩個不同的線程中執行PyObject_CallObject()?
- 24. 同時運行兩個程序C/C++
- 25. 如何在C中同時運行兩個子進程?
- 26. 爲什麼這兩個事件處理程序中的上下文不同
- 27. 爲什麼Grails無法在同一個端口上運行兩個應用程序?
- 28. 一個nginx工作進程是否同時處理兩個請求或逐個處理兩個請求?
- 29. 批處理 - 如何在同一時間運行兩個命令?
- 30. ExecuterService停止處理兩個線程中的一個線程
誰說他們不能? – Thilo
我和Thilo在這裏 - 他們絕對可以。這是什麼來源? – templatetypedef
這裏https://www.cs.cf.ac.uk/Dave/C/node29.html –