作者回复: 嗯,对的,非常不错,我当时就认真看了大师写的AQS,才真正对锁有了正确的认知,正确认知锁后,对多线程并发编程就能得心应手。
作者回复: 你好,在看的过程中,如果有什么疑问,可以找我细聊
作者回复: 你好,你这个问题问的非常好。我发表一下我的一些看法,欢迎探讨执教。 这里其实涉及到设计模式的一些实践。 AbstractQueuedSynchronizer 这个类,主要用来定义一些锁的共同方法,锁的一些模版方法,但锁的类型有读写锁、公平锁,公平锁、信号量、CountDownlatch,这些都有一些共性方法,但他们之间又很多差异,如果继承一个基类,由于存在较大差异,代码会很乱,并且受限于java单继承机制,所以就采用来内部类,来解决多重继承,并且引入两个维度。
作者回复: 谢谢认可,之所以我在这花这么大的篇幅在介绍juc中锁的实现,是因为我从一个毫无高并发编程经验的菜鸟,慢慢通过研读juc这块的代码,从而对多线程编程有了实打实的在原理层面的开窍,就是有那种悟道、豁然开朗的感觉。
作者回复: 你好,使用的版本是jdk1.8的
作者回复: 谢谢你的互动,期待我们更多的技术碰撞,一起进步。