太上老君

ReetrantLock(选择性通知与公平锁)--侃一侃西游记之兜率宫的故事

China☆狼群 提交于 2020-02-22 04:31:47
一.写在开头 二.太上老君炼丹的故事 三.ReetrantLock选择性通知与公平锁,及部分特性与synchronized的比较 四.代码 一.写在开头 通过一个西游记里头经典的桥段,太上老君炼丹的故事,初步介绍ReetrantLock的选择性通知,ReetrantLock公平锁/非公平锁。希望能够帮助到点进来的你。配合跑代码看结果效果更佳。 二.太上老君炼丹的故事 书接上回,太上老君者,大道之主宰...(此处省略一万字)...玉皇大帝祭出了斩妖刀,也无法将老孙灭杀。太上老君站了出来,请玉帝将老孙交付于他,只要他将老孙放进炼丹炉用三昧真火烧炼,即可灭杀老孙。此时,太上老君带着他的三个徒弟来到了炼丹洞府:都率宫! (正片开始!) 太上老君有三个徒弟A,B,C,辅助他炼化妖猴。 徒弟A 徒弟B 徒弟C 职责 负责开炉 负责把悟空扔进炼丹炉 负责封炉 炼化流程:徒弟们先各自准备,准备好后,太上老君一声令下。徒弟A开炉-->徒弟B把悟空扔进炼丹炉-->徒弟C封炉,分工明确 Demo中 ,太上老君为test主线程,启动三个徒弟线程ABC,线程A B C先等待,等主线程signalAll()唤醒所有等待线程。 运行截图: 三.ReetrantLock选择性通知与公平锁,及部分特性与synchronized的比较 ReentrantLock与synchronized 都是可重入锁、独占锁