假设我在我的机器上有4个内核,并且我有一个产生4个线程的进程,而这是当前进程安排的,这4个线程都保留了这4个内核?进程占用了多少核心?
0
A
回答
1
这是一个非常复杂的问题。不过,我可以帮忙。通常,1个进程只使用1个内核。实际上,1个线程只能由1个内核执行。如果你有一个双核心处理器,它实际上是2个CPU一起粘在同一台PC上。这些被称为物理处理器。这些物理主管执行1个线程。尽管一些CPU有2个物理内核,但能够同时运行4个线程。这些额外的2个线程在逻辑内核上运行。它们并不物理存在,但在逻辑上存在于CPU中。
如果按进程表示线程,则是1进程1核心。你可以在4个计算核心上运行4个线程(这个名称包含物理和逻辑核心,因为一个核心cpu可能只有1个计算核心)。
如果通过进程表示程序或过程在任务管理器的进程选项卡中,则取决于程序的写入方式。
从你的问题来看,如果一个进程产生4个线程,它取决于它在池中的什么地方。有成千上万的线程在等待执行。来自每个程序或可执行文件的线程不必同时执行。
1
您的进程的4个线程是独立调度的 - 进程本身没有安排。
如果所有4个线程同时运行,并且系统中没有其他更高优先级的可运行线程,则可以在4个内核中同时调度所有4个线程。
相关问题
- 1. 每个Apache进程占用多少?
- 2. reducer占用映射程序核心
- 3. 我有多少个核心?
- 4. 如何使用Nodejs多CPU核心进行多进程?
- 5. 缺少“ASP.NET核心Web应用程序(.NET核心)”模板
- 6. 缺少ASP.NET核心Web应用程序(.NET核心)不同和缺少模板
- 7. 多线程和多核心
- 8. .net核心 - 后台进程
- 9. 减少Solaris上多个Java进程的内存占用(UNIX)
- 10. 解释创建了多少个进程?
- 11. AMD多核心编程
- 12. 多线程核心数据
- 13. 计算线程被抢占了多少次?
- 14. 了解Drupal核心?
- 15. 如何正确使用核心数据进行多线程?
- 16. 如何减少多进程PHP应用程序的内存占用
- 17. Python多处理启动比核心更多的进程
- 18. 核心数据多线程使用
- 19. DOTNET核心 - 缺少csproj.metaproj
- 20. 缺少Rspec的核心
- 21. 死于多线程进程的核心转储
- 22. 如何在多核环境中将进程/线程指定给某个核心?
- 23. 字符串数据类型占用了多少数据?
- 24. java类在内存中占用了多少时间
- 25. Redis中成员占用了多少字节集
- 26. 多线程程序的核心转储
- 27. 核心数据和多线程编程
- 28. IIS将回收asp.net核心进程吗?
- 29. Windows核心进程之间的通信
- 30. Linux如何知道进程使用了多少物理内存?
Linux实际上[进度线程](http://stackoverflow.com/questions/15601155/does-linux-schedule-a-process-or-a-thread),而不是进程。当我们谈论调度过程时,我们通常会引用经典的,简化的单线程过程。 –