我在脑海里有很多关于多线程的基本问题。如果我们一次运行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