君子生非异也

导航

 

2021年5月13日

摘要: 形象的理解,线程阻塞需要消耗凭证(permit),这个凭证最多只有1个。当调用park方法时,如果有凭证,则会直接消耗掉这个凭证然后正常退出;但是如果没有凭证,就必须阻塞等待凭证可用;而unpark则相反,它会增加一个凭证,但凭证最多只能有1个。 阅读全文
posted @ 2021-05-13 17:15 徐知语的笔记 阅读(1060) 评论(0) 推荐(0) 编辑
 
摘要: AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中。 阅读全文
posted @ 2021-05-13 15:47 徐知语的笔记 阅读(290) 评论(0) 推荐(0) 编辑