AQS作为一个抽象的类,由两个队列,一个状态组成。
通过CAS+state实现线程安全。
因为state等变量都是由volatile修饰,保证了操作的线程间可见行和禁止指令重排,所以说AQS又是由CAS和volatile实现的。
认为图表的形式更易于理解,所以做了AQS源码整体流程图:
AQS作为一个抽象的类,由两个队列,一个状态组成。
通过CAS+state实现线程安全。
因为state等变量都是由volatile修饰,保证了操作的线程间可见行和禁止指令重排,所以说AQS又是由CAS和volatile实现的。
认为图表的形式更易于理解,所以做了AQS源码整体流程图: