1

当我使用线程或主线程时,我注意到它们被限制为每个线程的 CPU 的 25%。

有没有办法告诉线程使用更多 CPU ?因为我觉得这样有点限制。

多谢。

4

2 回答 2

8

你可能有一台四核机器。一个线程不能在多个内核上运行。

于 2012-11-30T16:35:12.617 回答
1
public class Mainn {

    public static void main(String[] args) {
        int noOfProcessors = Runtime.getRuntime().availableProcessors();
        System.out.println(noOfProcessors);
        for (int i = 0; i< noOfProcessors ; i++){
            new Thread(new Runnable() {

                @Override
                public void run() {
                    for(;;){
                    }
                }
            }).start();
        }
    }
}

这将使用大量的 CPU 测试它。

线程或进程只会使用所需的计算能力。除非您创建需要更多计算的代码,否则您不能告诉它需要更多的计算能力

JAVA 中的一个线程一次可以在单核上运行。所以我所做的就是为每个核心创建一个线程。

于 2012-11-30T17:50:52.537 回答