首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java多线程(10或更多?)

Java多线程(10或更多?)
EN

Stack Overflow用户
提问于 2012-08-06 21:36:55
回答 4查看 154关注 0票数 1

创建超过10个额外的线程是不可取的吗?示例:

代码语言:javascript
复制
for(int i=0; i<100; i++) {
    new Thread() {
        public void run() {
            // something
        }
    }.start();
}

这将创建并启动100个线程。这可不好,对吧?

UPDATE >每个线程都在下载内容并将其放入包中

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-06 21:40:03

创建比所需线程多的线程是不可取的。

当然,如果你需要100个线程,那么这是一个很好的数字。

不知道你从哪里弄到it is undesirable to create more than 10 additional threads的。Java进程可以处理10,000个线程。

票数 6
EN

Stack Overflow用户

发布于 2012-08-06 21:39:45

如果你使用一个包含10个线程的线程池,并将正确的Runnable传递给它们,这将会更容易和更快。

票数 2
EN

Stack Overflow用户

发布于 2012-08-06 21:39:14

完全取决于上下文。如果你正在做的大多数工作都是cpu受限的,那么可能不会有太大的不同,或者实际上会让事情变得更糟(上下文切换等),除非你实际上有100个内核。如果在I/O任务上花费了大量时间,那么线程可能是有益的。你真的需要做一些基准测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11829396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档