线程池源码分析


https://www.jianshu.com/p/edab547f2710

参考线程池源码部分,这里写的还是比较到位的,这里我写一下心得

1、这里关键就是execute接口,我们传进的自己实现的Runnable时候,这里做如下判断

java ThreadPoolExecutor线程池源码分析

当线程小于corePoolSize的时候直接创建一个线程去处理,

当线程大于corePoolSize的时候,这里分两个步骤处理,

1、BlockingQeue有空间的时候,执行execute的时候会将worker放在BlockingQueue里,

其他线程执行完firstWork的时候,在worker内部类里run 深度调用runTask里有while语句从workerqueue里任务执行

2、BlockingQueue没有空间的时直接拒绝


大致的流程是这样,具体是细节之后再补充,

相关文章:

  • 2021-10-25
  • 2022-12-23
  • 2021-09-17
  • 2021-12-17
  • 2022-01-18
  • 2021-11-24
  • 2021-07-01
  • 2022-02-15
猜你喜欢
  • 2022-01-16
  • 2022-01-24
  • 2022-02-19
  • 2021-09-01
  • 2021-09-02
  • 2021-08-03
相关资源
相似解决方案