![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发编程
你丶怎么睡得着的?
这个作者很懒,什么都没留下…
展开
-
多线程中wait(),notify()和notifyall()方法的含义
在“synchronized(obj){··········}”这个同步块中,obj对象叫做监控器,只有持有监控器这个对象的锁时才会执行同步块中的内容Java中的线程的生命周期大体可分为5种状态。1. 新建(NEW):新创建了一个线程对象。2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选...原创 2018-03-12 01:02:06 · 3181 阅读 · 0 评论 -
通过一个简单的数据库连接池分析一下“等待超时模式”
场景描述:开发人员经常会遇到这样的方法调用场景:调用一个方法时等待一段时间(一般来说是给定一个时间段),如果该方法能够在给定的时间段之内得到结果, 那么将结果立刻返回, 反之,超时返回默认结果。·等待持续时间: REMAINING=T。·超时时间: FUTURE=now+T。这时仅需要wait(REMAINING)即可, 在wait(REMAINING)返回之后会将执行:REMAINING=FUT...原创 2018-03-12 01:33:45 · 1490 阅读 · 0 评论 -
队列同步器(AQS)详解源码分析
队列同步器(AQS)简介: AbstractQueueSynchronizer,用来构建锁和其他同步组件的基础框架,使用一个int型变量来表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。 我们可以这么理解,锁是面向使用者的,即我们可以用锁来完成多线程处理的一些问题,而隐藏了实现的细节,而同步器面向锁的实现者,它简化了锁的实现方式,屏蔽了同步状态管理,...原创 2018-04-17 19:08:33 · 1242 阅读 · 0 评论 -
队列同步器(AQS)详解-源码分析续——Condition接口
简介: 我们知道,任何对象都可以作为监视器,而监视器都有wait()方法和notify()、notifyAll()等方法,而Condition接口也有类似的方法,如await()、signal()和signalAll()方法,他们的作用和监视器大同小异。在AQS中,有一个内部类ConditionObject,他就实现了Conditon接口。 Condition接口与监视器的区...原创 2018-04-23 21:06:21 · 334 阅读 · 0 评论