Java并发编程
文章平均质量分 70
一只小小的Hawk
这个作者很懒,什么都没留下…
展开
-
sleep()的线程是什么状态
前两天面试,面试官问我:小伙子,你知道线程有几种状态吗?呵,这也太简单了吧~ 我自信答道: 五种状态,分别是创建、就绪、运行、阻塞、死亡面试官笑笑:那你知道调用sleep()之后是什么状态吗?Emm… 阻塞态?但是sleep()的线程是不会释放锁的呀,就绪态?可人家也不能运行呀…面试官看着我抓耳挠腮的样子,冷笑道:回去再好好看吧…其实,Java线程除了以上五种状态,还存在等待(WAITING) 和 超时等待(TIMED_WAITING) 两种状态等待(WAITING)处于这种状态的线程不会被分原创 2021-11-16 16:19:12 · 5523 阅读 · 0 评论 -
AQS介绍
什么是AQSAQS,全称抽象队列同步器(AbstractQueuedSynchronizer),顾名思义是一种能够实现线程同步的队列。实际上,java.util.concurrent.locks包下的许多锁都依赖AQS组件。例如,在ReentrantLock类中,定义了一个内部类Sync,来继承AbstractQueuedSynchronizer类public class ReentrantLock implements Lock, java.io.Serializable { private原创 2021-08-21 22:33:20 · 192 阅读 · 0 评论