黑马程序员技术交流社区

标题: 关于线程池的使用场合 [打印本页]

作者: 朱安柱    时间: 2013-4-30 23:49
标题: 关于线程池的使用场合
线程池一般在什么样的情况下使用啊,之前项目经理让做过一个抓取网页网址的Demo,没有做出来,最后还是他做的。想知道除了这种场合,还有哪些地方用的比较多。

作者: Super_Class    时间: 2013-5-1 00:15

一般在服务器用的比较多,能够很好的利用资源。
作者: 余雷    时间: 2013-5-1 11:15
因为创建线程开销比较大,当你的程序需要频繁地创建销毁一些相同的线程时,就可以先创建一定数量的线程,让他们睡眠,当需要线程的时候,就从里面拿一个出来跑,跑完了再放回去,这样就增加了效率。
作者: 黑马华    时间: 2013-5-1 12:30
余雷 发表于 2013-5-1 11:15
因为创建线程开销比较大,当你的程序需要频繁地创建销毁一些相同的线程时,就可以先创建一定数量的线程,让 ...

       处理一个事务时,首先创建一个线程,然后执行任务,完了,销毁线程。而线程处于运行状态的时候,才是真的在处理我们交给它的任务,这个阶段才是线程利用阶段。所以,我们希望花在创建和销毁线程的资源越少越好。如果不销毁线程,而这个线程又不能被其他的任务调用,那么就会出现资源的浪费。
        为了提高效率,减少创建和销毁线程带来时间和空间上的浪费,出现了线程池技术。这种技术是在开始就创建一定量的线程,批量处理一类任务,等待任务的到来。任务执行完毕后,线程又可以执行其他的任务。等不再需要线程的时候,就销毁。这样就省去了频繁创建和销毁线程的麻烦。
总结:就是非常频繁的使用线程时就得利用线程,就像新浪不断用人访问服务器,这时候就得创建线程池访问数据库,这样不至于每次都到数据库里面去。
作者: 黄玉昆    时间: 2013-5-1 17:42
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者: 朱安柱    时间: 2013-5-1 20:51
已解决,谢谢各位
作者: 刘胜寒    时间: 2013-5-1 21:56
黑马华 发表于 2013-5-1 12:30
处理一个事务时,首先创建一个线程,然后执行任务,完了,销毁线程。而线程处于运行状态的时候, ...

受教了   受教了
作者: 刘胜寒    时间: 2013-5-1 21:56
黄玉昆 发表于 2013-5-1 17:42
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢

下次我帮你让他们  修改分类
作者: 黄玉昆    时间: 2013-5-1 22:03
刘胜寒 发表于 2013-5-1 21:56
下次我帮你让他们  修改分类

;P你小子,嘿嘿,和老袁一样了
作者: 袁梦希    时间: 2013-5-2 00:19
黄玉昆 发表于 2013-5-1 22:03
你小子,嘿嘿,和老袁一样了

{:3_53:}{:3_55:}{:3_64:}{:3_66:}




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