A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

比如100个任务要处理,设定是2个线程。
1、是用2个线程一直处理完100条,如果这样,是不是要在线程里写循环来执行。比如第1条线程处理13579……条,第2条线程处理246810……条
2、不停的创建新的线程去处理100条,但是线程数不超过2. 线程里不用循环,循环写在外面,循环创建新线程。

希望大家说一下,这样处理的优缺点。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

2 个回复

倒序浏览
100个任务要处理,设定是2个线程。此时如果是手动开两个线程的话,个人感觉效率不是很高,你可以考虑用一下ThreadPool,这样性能会高点
线程池会根据你目前计算机的可用资源情况来分配线程执行。。。实际上线程池分配比较多的线程来执行任务,多数线程也是在等待,并未实际运行,而这又增加了线程间切换上下文的开销。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
管章鹏 发表于 2013-3-29 14:57
100个任务要处理,设定是2个线程。此时如果是手动开两个线程的话,个人感觉效率不是很高,你可以考虑用一下 ...

比如百度搜索100个关键词,每一次访问都是1个任务,希望你能写个简单的小例子。

还有可以自己动态修改执行的线程数。想多开几个,或者减少。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马