我在腦海裏有很多關於多線程的基本問題。如果我們一次運行10個線程,那麼在單個實例中只有一個線程將處於活動狀態,並且在線程之間進行切換或者多個線程可以在一個單一的時間?多線程如何工作
多線程如何工作
回答
這取決於你的硬件和你的操作系統。如果您的內核數量少於線程數,那麼操作系統可能會交叉這些線程,也就是說,每當其中一個執行例如IO操作時,或者每次完成其時間片時就會切換到另一個線程。
此外,每個核心都運行一個執行線程。這就是多核心的用途。這通常與時間分割行爲混合在一起。
這真的取決於你的CPU和程序設計。如果您有四核心PC,則可以同時運行8個線程。
This答案可能會引起誤解。我假設你在談論英特爾的超線程技術。在這種情況下,您應該閱讀以下內容:http://www.makeuseof.com/tag/hyperthreading-technology-explained/ – Andy
這取決於硬件。許多當前的處理器芯片包含多個CPU,並且CPU本身可以交織幾個線程。一個大型服務器可能有幾十個處理器芯片。在這樣的系統中,所有10個線程都可以同時運行。
根據類型的不同,單個CPU(核心)甚至可能運行多個線程。考慮UltraSPARC T2處理器,例如,每個處理器內核運行8個線程。 – Jules
一次只能運行一個線程,處理器可以快速切換它們。對於如考慮與法術CHK文本編輯器..
U型,這就是一個線程 的前衛CHKS FR錯誤 - 那是另一個線程
現在,如果他們是多線程的,整個過程將在內存空間獲取然後不同的線程將同時執行
- 1. 多線程內核如何工作?
- 2. 如何多線程這個工作?
- 3. Maven多線程如何構建工作?
- 4. Android中的多線程如何工作?
- 5. 多線程,併發線程如何工作?
- 6. 多線程工作線程狀態
- 7. Netty - 工作線程如何工作
- 8. 多線程一起工作
- 9. 多線程工作較慢
- 10. Vb.net多線程不工作...?
- 11. POI工作簿多線程
- 12. 多線程webBrowser不工作
- 13. vb.net多線程不工作
- 14. CUDA線程如何工作
- 15. 如何在多線程生產者 - 使用者模式下完成工作線程後退出工作線程?
- 16. 什麼是多線程程序,它是如何工作的?
- 17. 如何讓PHP應用程序工作多線程?
- 18. 如何跟隨許多路線工作?
- 19. 工作線程
- 20. JMeter - 如何設置線程組,許多工作線程,然後重複?
- 21. 如何處理可能會創建新工作項的多個工作線程
- 22. 從工作線程調用更新UI線程是如何工作的?
- 23. 多線程無法正常工作
- 24. 的Java:多線程不工作
- 25. ImageBrush能夠工作多線程嗎?
- 26. 多線程似乎不工作
- 27. C++多線程mergesort不工作
- 28. Python:多線程無法正常工作
- 29. 的Python的多線程「工作」
- 30. 多次調用後臺工作線程?
您可以重述一下嗎?現在它幾乎沒有任何意義。另外,請說明你所做的研究。 SO不是你的研究助理。 – Gray
如果你看到CPU配置,那麼你會看到類似4 Thread 2 Core的東西。這意味着在時間4線程。如果你一次運行多於4個線程,那麼它會在CLR中被推遲。 – Adrian
閱讀此http://superuser.com/questions/329904/what-are-threads-and-what-do-they-do-in-the-processor如果您的CPU限制爲4個線程,那麼它將不會運行更多4線程在一次。 – Adrian