gpt4 book ai didi

java - Java在一定时间内创建多个线程

转载 作者:行者123 更新时间:2023-12-01 22:33:24 26 4
gpt4 key购买 nike

在 5 秒内创建 500.000 个线程的最佳方法是什么? (可运行)我创建了 for 循环,但需要很多时间。例如;

startTime = System.currentTimeMills();

for (int i=0;i<500.000; i++){
// create thread
thread.start();
}

resultTime = (System.currentTimeMills() - startTime);

所以 resultTime 大于 5 秒。我知道这取决于我的硬件和操作系统配置,但我只想知道在特定时间创建多个线程的最佳方法是什么?

谢谢。

最佳答案

我真的无法想象这是一个好主意。每个线程占用合理数量的资源(默认情况下,每个线程 512k 堆),因此即使您创建了所有线程,您的 JVM 也会争夺资源。

如果您需要 500,000 个工作单元,我认为您最好将它们创建为 Runnable(而不是一次全部!)并将它们传递给 ThreadPool调整到您的环境。机器(例如,天真/简单的调整是每个 CPU 一个线程)

关于java - Java在一定时间内创建多个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com