栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

多线程最佳实践:约束任务newFixedThreadPool

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多线程最佳实践:约束任务newFixedThreadPool

使用ExecutorService的第一部分看起来不错:

...FetcherRunner runner = new FetcherRunner(routes, start, stop);executorService.submit(runner);

带有Thread的部分不应该在那儿,我假设您在那儿只是为了展示您以前的经历?

更新:
是的,您不需要之后的代码

executorService.submit(runner)
,最终将产生大量线程。如果您的目标是在循环后等待所有提交的任务完成,则可以
Future
在提交任务时获取参考,然后等待
Future
,如下所示:

ExecutorService executorService = Executors.newFixedThreadPool(16);List<Future<Result>> futures = ..; for (int j = 1; j < 900+ 1; j++) { int start = (j - 1) * 5000; int stop = (j) * 5000- 1; FetcherRunner runner = new FetcherRunner(routes, start, stop); futures.add(executorService.submit(runner));}for (Future<Result> future:futures){    future.get(); //Do something with the results..}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号