你讲讲线程池的实现原理。
听到这个问题,小部分同学会很坦白的说,我平时用过线程池,但是没有了解过内部是怎么实现的。偶尔也会有同学反怼,我会用不就行了么,为啥要知道咋实现!碰到这样的同学,我只能说,嗯,你说的对。
我希望听到的答案是,把每个参数的作用都说一遍,最好可以在纸上更加直观的描述出来,各个参数在设置的时候需要注意什么问题。
有时候,有些同学语言组织的不太好,描述的时候有点含糊不清,为了能够确定他了解的是否正确,我会直接提供一组线程池参数。
问:比如现在设置coreSize=5,maxSize=10,blockQueueSize=10,依次提交6个比较耗时的任务,线程池是如何执行的?
如果这样还描述不清楚,那真的要pass了。
并发编程常见面试问题
一不小心就死锁了,怎么办?
多线程同步和互斥有哪几种实现方法?
如何避免重复创建线程?
多线程同步和互斥有哪几种实现方法?
ReentranLock源码,设计原理,整体过程
如何批量执行异步任务?
学习好高并发相关知识,不光是为了能在面试中不被面试官难到,更是为了能满足工作的需求。随着互联网行业的快速发展,高并发已然成为了家常便饭。我们常常被要求开发一个高并发的系统,而掌握并发编程正是其中的关键。
并发编程全景图
从三个核心问题:分工、互斥、协作,全面且系统地涵盖了Java并发编程的技术难点。