Java-java编程和CPU单双核的关系

发布于 2016-12-21 23:14:34 字数 247 浏览 1197 评论 1

本人在看JDK8新特性介绍中看到如下讲解:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);

for (int number : numbers) {
System.out.println(number);
}
说这个循环 不能充分利用多核CPU

本人不解,双核cpu中处理器的分配不是有操作系统来管理的吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-07-06 23:32:42

这个例子太简单了,没有多核的必要,需要一个更复杂的运算
操作系统分配会把系统里所以的进程分陪到多个处理器之上,而在这里只有一个进程,某个时刻这个进程会操作系统分配到一个CPU上。

我猜他想表达的是:循环中的运算都是独立了、没有依赖关系,理论上可以用多个进程同时进行计算,但是for循环是串行的,不能并行计算。JDK8提供的Stream可以并发执行,所以可以充分利用多核CPU。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文