线程池汇总
https://mp.weixin.qq.com/s?__biz=MzUxOTc4NjEyMw==&mid=2247483659&idx=1&sn=44c8620b89bdd7faff0faa928223f70c&chksm=f9f51aefce8293f994722db144d914019a9d0824bb8d84ce8222493ac6b8ad1afb8ee701473d&mpshare=1&scene=1&srcid=042853lk6IDO2D0rYXfhTx3I&key=12a00fb205fe0934bf22179321cf7875cadecfea51d3ea19028cec66f242d4d58c7578482b7580b1b8064c6a95461737bc162edfec13f7ce3f0b01b96615922b3ba1412267110f1b652b575c54e96471&ascene=0&uin=MTA2NzUxMDAyNQ%3D%3D&devicetype=iMac+MacBookAir6%2C2+OSX+OSX+10.10.5+build(14F2511)&version=11020012&lang=zh_CN&pass_ticket=LMdZXsJht7C28KNS6e6YZETGDGCQxhxXdJPUNgTy1PaazHOe%2BASTWMB%2B293lmhtN
带着问题汇总:
线程池相关
单机上一个线程池正在处理服务,如果忽然断电了怎么办(正在处理和阻塞队列里的请求怎么处理)?
为什么要使用线程池?
线程池有什么作用?
说说几种常见的线程池及使用场景。
线程池都有哪几种工作队列?
怎么理解无界队列和有界队列?
线程池中的几种重要的参数及流程说明。
1.任务表,线程搞定了去改旗标;重新通电后热启动加载任务表中未执行任务
2.3.节约创建和销毁线程的开销
4.Fixed,Single,Cached
5.SynchronousQueue -Cached
LinkedBlockingQueue 无界-Fixed-Single
ArrayBlockingQueue 有界-自定义线程池
6.core-queue-max,如果使用无界,则永不拒绝,但同时也承担生产者比消费者快,内存占满的风险(https://blog.csdn.net/zgliang88/article/details/49863337)
7.core,max,workQueue,threadFactory,handler(拒绝策略)
core
ok-threadFactory.newThread
not ok ———————— workQueue ———————————— max
not ok -handler reject