线程池一般用在什么情况下?为什么在定时任务中用的比较多呢?
1个回答
展开全部
线程池不是什么时候都要用的,他也是一种资源,用的不对可能并不会带来性能上的提高,正确的使用方法是有一堆任务需要创建线程去执行,任务就是对象,在java里面,就好比是实现了Runnable接口的对象,那么此时就用线程池,如果紧紧就个吧两个进程,那得了,还是没必要,其实线程池,我看在效率上来讲,就是降低了线程创建的时间消耗,实际上原理和创建单个的线程差不太多。
因为创建线程开销比较大,当你的程序需要频繁地创建销毁一些相同的线程时,就可以先创建一定数量的线程,让他们睡眠,当需要线程的时候,就从里面拿一个出来跑,跑完了再放回去,这样就增加了效率。
因为创建线程开销比较大,当你的程序需要频繁地创建销毁一些相同的线程时,就可以先创建一定数量的线程,让他们睡眠,当需要线程的时候,就从里面拿一个出来跑,跑完了再放回去,这样就增加了效率。
追问
可以这么理解吗?任务调度可能出现同一时间点同时运行多个任务,或者多个任务因为开始时间和结束时间的长短,而并发执行的情况,而多线程可以有效的解决并发
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询