【发布时间】:2022-01-18 09:49:22
【问题描述】:
我试图找到真实世界的示例,在这些示例中,在单核上运行线程可能比跨多核运行更有优势。
跨内核生成线程与在同一个内核中生成线程是否有成本。
java(或操作系统)如何确定何时在特定内核上分配工作。
最后,有没有办法明确指定线程应该在特定的核心上运行,或者这个操作系统级别是确定的?
【问题讨论】:
-
您在第一句话中的意思是“多处理器”而不是“多进程”吗?这会改变你问题的含义,所以要准确。
-
是更新到核心以明确表示 CPU 核心。不产生操作系统级别的进程,但具有相同的说法 java 进程产生在不同 cpu 内核上运行的线程
-
您需要定义判断标题中“节拍”的标准。
-
公平点,我主要是想了解多核执行是否有成本。我可以看到上下文切换 CPU 绑定任务的以下答案中提到的问题。但是对于线程主要在等待某些东西的非 CPU 绑定任务,是否跨内核执行此操作是否存在成本/收益。
标签: java multithreading operating-system multicore