摘要:
什么是AQS AQS(AbstractQueuedSynchronizer)是JDK下提供的一套用于实现基于FIFO等待队列的阻塞锁和相关的同步器的一个同步框架。这个抽象类被设计为作为一些可用原子int(private volatile int state)值来表示状态的同步器的基类(如:独占锁。1 阅读全文
摘要:
在平时编码时,我们可能只注意到static、final、volatile等关键字的使用,而忽略了它们更深层次的意义。 static关键字 概述 当static修饰类的属性或者方法时,那么就可以在没有创建对象的情况下使用该属性或方法。 静态块也是static的一个应用,用于初始化类时的一些操作。 静态 阅读全文
摘要:
简介 使用锁时,线程获取锁是一种悲观锁策略,即假设每一次执行临界区代码都会产生冲突,所以当前线程获取到锁的时候同时也会阻塞其他线程获取该锁。而CAS操作(又称为无锁操作)是一种乐观锁策略,它假设所有线程访问共享资源的时候不会出现冲突,既然不会出现冲突自然而然就不会阻塞其他线程的操作。因此,线程就不会 阅读全文