Java如何决定分配线程或进程的核心?有没有办法控制它?防止两个大线程在同一个核心上执行?
基本上我要问的是有关多线程如何在Java中工作或如何在Java中控制它的更多信息。
答案 0 :(得分:4)
您无法为特定线程设置处理器关联。但是,如果将程序拆分为两个进程,则应该能够将这些进程分配给操作系统级别的特定处理器。
http://www.cyberciti.biz/tips/setting-processor-affinity-certain-task-or-process.html
答案 1 :(得分:2)
这是关于Multithreading in Java的教程。
对于线程调度 - 操作系统应该处理适当的线程调度。您通常不需要担心这一点。
Java Thread class目前没有提供手动设置线程关联的方法,尽管过去已经提出过这种方法。
答案 2 :(得分:2)
Java如何决定使用哪个核心 分配线程或进程?
没有。操作系统可以。
有没有办法控制它?至 防止两个大线程 在同一个核心上执行?
不在Java内。
基本上我要问的是 关于如何进一步的信息 多线程在Java中工作,或者如何工作 在Java中控制它。
没有。这一切都是由操作系统完成的。
基本上你问的是错误的问题。
答案 3 :(得分:0)
这实际上取决于JVM上的实现,但一般来说,Java实现依赖于底层操作系统的线程功能。据我所知,没有公共和标准扩展来设置亲和力。但是,可能存在提供钩子的实验性JVM。
此外,干扰JVM抽象以直接混淆底层平台在某种程度上(和恕我直言)违背了Java的精神。