多线程和线程池的区别

线程池分为四种:

fixThreadPool(正规线程池)

cacheThreadPool(缓存线程池)

singleThreadPool(单线程线程池)

scheduledThreadPool(周期执行线程池)

 

【线程池与多线程的区别】

1.线程池是在程序运行时,自动创建好多个线程,挂起等待任务。多线程时在任务到来之后创建线程

2.线程池在任务执行之后不会回收线程,而是放回队列继续等待任务。多线程在任务结束之后会回收线程

3.由于提前创建好,所以性能上线程池优于多线程

4.线程池不容易挂掉,多线程在创建线程数量比较多的情况下会挂掉

 

【使用线程池的场景】

高并发并且执行时间较短的业务。可设置线程数为CPU核树+1,减少上下文的切换

 

posted @ 2021-05-10 23:26  RookieCoderAdu  阅读(2087)  评论(0编辑  收藏  举报