多线程精品系列
文章平均质量分 93
【原】编程界的小学生
什么都要会一点,这样装起逼来不会尴尬。
展开
-
多线程超神目录以及100%有你不会的原理和面试题
多线程精品目录一、Thread基础二、AbstractExecutorService三、ThreadPoolExecutor一、Thread基础CSDN:https://blog.csdn.net/ctwctw/article/details/116455457微信公众号:https://mp.weixin.qq.com/s/YbZmM1OhJoc-Id_btaDRbA包含如下考点:什么是进程,什么是线程?什么是线程的切换?单核CPU设定为多线程有意义吗?线程数是不是越大越好?怎么合理设置原创 2021-09-18 23:11:07 · 251 阅读 · 0 评论 -
拆解ThreadPoolExecutor之关闭线程池和钩子函数方法的各个细节
文章目录如果下面的问题你都会的话就别在这浪费时间啦零、初始shutdown和shutdownNow一、shutdown1、全貌2、为什么上锁?3、checkShutdownAccess4、advanceRunState4.1、拆解1:runStateAtLeast4.2、拆解2:compareAndSet4.3、小结5、interruptIdleWorkers5.1、拆解1:参数onlyOne5.2、拆解2:为什么上锁5.3、拆解3:for(Worker w : workers)5.4、拆解4:if判断5.原创 2021-05-31 15:51:00 · 1057 阅读 · 1 评论 -
拆解ThreadPoolExecutor之runWorker方法的各个细节?
文章目录如果下面的问题你都会的话就别在这浪费时间啦一、runWorker全貌二、拆解runWorker1、大有学问的unlock2、while循环拿任务3、中断判断4、beforeExecute5、任务执行6、afterExecute7、finally8、completedAbruptly9、processWorkerExit10、小结三、getTask全貌四、拆解getTask1、timed2、释放线程3、小结五、总结author:编程界的小学生date:2021/05/30flag:不写垃圾没有原创 2021-05-30 22:35:36 · 936 阅读 · 0 评论 -
拆解ThreadPoolExecutor之addWorker方法的各个细节?
- addWorker的流程知道吗?- addWorker里面为什么在add和remove的时候要上锁?- 提交的任务会包装成Worker对象对吧?Worker存到哪里了?- Worker添加失败或者添加成功但是线程启动失败会怎样?原创 2021-05-30 18:43:20 · 996 阅读 · 1 评论 -
拆解ThreadPoolExecutor之execute方法的各个细节?
编程界的小学生如果下面的问题你都会的话就别在这浪费时间啦1、execute全貌2、拆解第一步2.1、NPE判断2.2、获取ctl2.3、开启线程执行任务2.4、小结3、拆解第二步3.1、将任务加到任务队列3.2、recheck3.3、检查是否设置了允许核心线程超时3.4、小结4、拆解第三步4.1、开启非核心线程处理任务5、总结author:编程界的小学生date:2021/05/30flag:不写垃圾没有营养的文章!由于之前写过线程池状态是怎么存储计算的文章,所以此处不在废话。如不清楚线程池的原创 2021-05-30 16:45:20 · 568 阅读 · 4 评论 -
ThreadPoolExecutor的核心参数以及线程池状态到底是咋玩的?
文章目录如果下面的问题你都会的话就别在这浪费时间啦1、线程池参数1.1、线程池参数有哪些?都啥意思?1.2、线程池是怎么创建线程的?1.3、任务拒绝策略有哪些?1.4、线程池的原理是什么?2、线程池的状态2.1、线程池有哪几种状态?2.2、线程池的状态是怎么存储的?2.3、线程池的状态是怎么计算的?2.4、为什么要用-1代表RUNNING状态?2.5、new一个线程池,他的活跃线程数是多少?怎么计算的?2.6、线程池状态是怎么转换的?author:编程界的小学生date:2021/05/16flag原创 2021-05-16 15:59:00 · 885 阅读 · 0 评论 -
线程池的鼻祖AbstractExecutorService模板模式真香(下)
文章目录如果下面的问题你都会的话就别在这浪费时间啦1、invokeAll1.1、源码1.2、要点总结1.3、Demo1.3.1、代码1.3.2、结果1.3.3、分析2、invokeAll(timeout)2.1、源码2.2、要点总结2.2.1、核心流程2.2.2、答疑环节2.3、Demo2.3.1、代码2.3.2、结果2.3.3、分析3、invokeAny3.1、源码3.2、要点总结3.2.1、核心流程3.2.2、答疑环节3.3、Demo3.3.1、代码3.3.2、结果3.3.3、分析4、从中学到了什么思想原创 2021-05-15 14:37:59 · 375 阅读 · 2 评论 -
线程池的鼻祖AbstractExecutorService模板模式真香(上)
文章目录如果下面的问题你都会的话就别在这浪费时间啦1、面试题:Runnable和Callable的区别2、线程池完整体系3、Executor4、ExecutorService4.1、shutdown和shutdownNow区别5、ScheduledExecutorService6、AbstractExecutorService6.1、先来看几个核心API6.2、submit(T t)6.2.1、newTaskFor6.2.2、总结submit6.2.3、面试题:submit和execute的区别6.3.3、原创 2021-05-13 09:28:15 · 402 阅读 · 0 评论 -
100%有你不会的Thread必考面试题
文章目录1、什么是进程,什么是线程?2、什么是线程的切换?3、单核CPU设定为多线程有意义吗?4、线程数是不是越大越好?怎么合理设置?4.1、追问:我怎么知道等待时间和计算时间是多少?4.2、补充5、创建线程的方法6、线程有哪几种状态?7、聊聊线程的打断interrupt8、如何停止一个线程?9、线程之间怎么进行通讯?10、聊聊线程可见性?10.1、缓存行10.2、补充11、聊聊线程有序性?author:编程界的小学生date:2021/05/06flag:不写垃圾没有营养的文章!1、什么是进程原创 2021-05-06 15:44:06 · 825 阅读 · 0 评论