while循环性能单核与多核机器

时间:2014-08-26 11:20:52

标签: java

我曾经面对下面的采访问题,下面的循环在单核和多核系统中的表现如何,这意味着它会影响单核,多核性能还是相同?

  while (r < 1000000) { //assume r = 0 initially
        t = r*r;
        r++
    }

2 个答案:

答案 0 :(得分:5)

没有区别。单个线程始终在单个核心中运行。如果要使用多个核心,则应将作业分成几部分并在不同的线程中运行。

有关更多信息,请在线查看一些多线程编程示例/教程。

答案 1 :(得分:2)

由于您还没有发布完整代码,我假设您的循环在主线程中运行。因此,只有一个线程在特定时刻运行。你的循环在该线程中执行。

在多核系统中,它经常用于在不同的核心中运行并行线程或进程。由于您拥有单个线程,因此它将始终在单个内核中执行。没有任何时间差异。