- 博客(4)
- 收藏
- 关注
原创 并发-CountDownLatch
CountDownLatch表示允许一个或多个线程等待其他线程的操作执行完毕后再执行后续的操作。CountDownLatch使用AQS的共享锁机制实现。CountDownLatch初始化的时候需要传入次数count。每次调用countDown()方法,count的次数减1。每次调用await()方法的时候会尝试获取锁,这里的获取锁其实是检查AQS的state变量的值是否为0。当state(count)的值减为0时会唤醒排队着的线程。
2019-11-24 09:47:08 484 2
原创 Java并发-线程池API
今天小咸儿继续来分享对线程池的认知,这里介绍的是四种线程池:newFixedThreadPool:该方法返回一个固定数量的线程池,线程数不变,当有一个任务提交时,若线程池中空闲,则立即执行,若没有,则会被暂缓在一个任务队列中,等待有空闲的线程去执行。newSingleThreadExecutor:创建一个线程的线程池,若空闲则执行,若没有空闲线程则暂缓在任务队列中。newCachedT...
2019-11-09 11:41:21 389 3
原创 Java并发:Executor生命周期
线程池Executor是异步的执行任务,因此任何时刻不能够直接获取提交的任务状态。这些任务有可能已经完成,有可能正在执行或者还在排队等待执行。那么关闭线程池就有可能出现两种情况……
2019-11-07 15:44:15 298 1
原创 解析SpringMVC请求流程
最近小咸儿看了一下SpringMVC的源码,来了解一下它的设计原理,所谓知己知彼,百战不殆。先上一篇自己总结的SpringMVC的核心组件和请求流程示意图:...
2019-11-05 21:06:34 293 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人