Java-java编程和CPU单双核的关系
本人在看JDK8新特性介绍中看到如下讲解:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
for (int number : numbers) {
System.out.println(number);
}
说这个循环 不能充分利用多核CPU
本人不解,双核cpu中处理器的分配不是有操作系统来管理的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个例子太简单了,没有多核的必要,需要一个更复杂的运算
操作系统分配会把系统里所以的进程分陪到多个处理器之上,而在这里只有一个进程,某个时刻这个进程会操作系统分配到一个CPU上。
我猜他想表达的是:循环中的运算都是独立了、没有依赖关系,理论上可以用多个进程同时进行计算,但是for循环是串行的,不能并行计算。JDK8提供的Stream可以并发执行,所以可以充分利用多核CPU。