原子更新基本类型类
1.原子操作类:多线程下的操作是安全的,不需要自己加锁
2.在原子类中不能用+ - * / ,而是采用这些方法
AtomicBoolean:原子更新布尔型
AtomicInteger:原子更新整形
AtomicLong:原子更新长整型
AtomicIntegerArray:原子更新整型数组里的元素
AtomicLongArray:原子更新长整型数组里的元素
AtomicReferenceArray:原子更新引用类型数组里的元素
AtomicReference:原子更新引用类型
AtomicReferenceFrildUpdater:原子更新引用类型里的字段
AtomicMarkableRefrence:原子更新带有标记位的引用类型
AtomicIntegerFieldUpdater:原子更新整型的字段的更新器。
AtomicLongFieldUpdater:原子更新长整型字段的更新器。
AtomicStampedReference:原子更新带有版本号的引用类型。该类将整数值与引用关联起来,可用于原子的更新数据和数据的版本号,可以解决使用CAS进行原子更新时可能出现的ABA问题。
8 Java中的并发工具类
1.Semaphore的流量控制运用场景
public class SemaphoreTest {private static final int THREAD_COUNT = 30;private static ExecutorServicethreadPool = Executors.newFixedThreadPool(THREAD_COUNT);private static Semaphore s = new Semaphore(10);public static void main(String[] args) {for (inti = 0; i< THREAD_COUNT; i++) {threadPool.execute(new Runnable() {@Overridepublic void run() {try {s.acquire();System.out.println("save data");s.release();} catch (InterruptedException e) {}}});}threadPool.shutdown();}
}