黑马程序员技术交流社区

标题: 多线程处理误解,希望大家分别解释一下 [打印本页]

作者: 刘云东    时间: 2013-3-29 13:37
标题: 多线程处理误解,希望大家分别解释一下
比如100个任务要处理,设定是2个线程。
1、是用2个线程一直处理完100条,如果这样,是不是要在线程里写循环来执行。比如第1条线程处理13579……条,第2条线程处理246810……条
2、不停的创建新的线程去处理100条,但是线程数不超过2. 线程里不用循环,循环写在外面,循环创建新线程。

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

作者: 管章鹏    时间: 2013-3-29 14:57
100个任务要处理,设定是2个线程。此时如果是手动开两个线程的话,个人感觉效率不是很高,你可以考虑用一下ThreadPool,这样性能会高点
线程池会根据你目前计算机的可用资源情况来分配线程执行。。。实际上线程池分配比较多的线程来执行任务,多数线程也是在等待,并未实际运行,而这又增加了线程间切换上下文的开销。
作者: 刘云东    时间: 2013-3-29 15:05
管章鹏 发表于 2013-3-29 14:57
100个任务要处理,设定是2个线程。此时如果是手动开两个线程的话,个人感觉效率不是很高,你可以考虑用一下 ...

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

还有可以自己动态修改执行的线程数。想多开几个,或者减少。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2