3
Q
線程如何處理?
A
回答
2
唯一保證你得到的是,線程將獨立運行彼此。調度是由操作系統完成的,操作系統通常會嘗試使所有內核都處於繁忙狀態,但由於計算機上的運行量遠遠超過程序,因此不能保證您的四個線程始終運行在四個內核上。
在Windows上,您可以將線程固定到處理器核心,但這既不是標準的也不是跨平臺的,並不總是對您的程序有好處。
+1
*並且操作系統通常會嘗試使所有內核忙碌*:取決於在「經濟」模式下的筆記本電腦,僅僅通過幾條指令即可喚醒內核將是浪費。 –
相關問題
- 1. 如何在線程中處理線程?
- 2. 如何處理線程
- 3. 如何處理線程?
- 4. 如何處理線程C#
- 5. 如何處理java線程
- 6. Java:ThreadFactory如何處理線程?
- 7. 線程處理
- 8. 處理線程
- 9. 如何處理OpenMP線程池爭用
- 10. 如何處理掛起的子線程?
- 11. 如何處理線程即將終止?
- 12. 如何爲WebBrowser控件處理線程
- 13. 如何多線程隊列處理
- 14. 的Java如何處理一個線程
- 15. 如何處理線程和領域? (iOS)
- 16. 如何多線程處理方法
- 17. Java如何處理多線程?
- 18. .NET如何處理IOCP線程安全?
- 19. 線程和fork()。我該如何處理?
- 20. cherrypy如何處理用戶線程?
- 21. 如何處理與線程退出
- 22. android如何處理動畫線程
- 23. java如何處理多線程?比進程更多的線程
- 24. 多線程處理?
- 25. IOCP線程處理
- 26. 多線程處理
- 27. Java線程處理
- 28. C#中的多線程處理以及如何處理
- 29. 如何在ASP.NET中處理未處理的線程異常?
- 30. Loopers - 處理程序 - 線程
理論上,是的。在實踐中,你可以有一個CPU擁有分配給它的所有線程,多個CPU擁有多個線程,其他CPU擁有多個線程或者其他任何組合。 –
沒有保證。你的操作系統可以隨你的線程做任何事情。 –
線程不一定建模並行:它們建模*邏輯*併發性,而不*實際*併發性。當你有多個線程時,你告訴操作系統你有同樣的事情要做(邏輯上)。它可以接受這些指令並嘗試通過將它們拆分到不同的CPU來運行它們。但是一些處理器也可以做這樣的事情,如果一個操作需要10個週期才能完成,啓動它並在其運行時從另一個線程執行操作(「超線程」)。或者在開始下一個工作之前,一個啞巴系統可以運行1個線程完成。 – IdeaHat