一、JUC基本介绍
JUC(Java Util Concurrency):Java并发工具类。
由上图可以知道,Java并发工具类主要包含了五个部分。
Atomic : AtomicInteger、AtomicLong、AtomicReference
Locks : Lock, Condition, ReadWriteLock
Collections : Queue, ConcurrentMap
Executer : Future, Callable, Executor
Tools : CountDownLatch, CyclicBarrier, Semaphore
二、原子类的基本概念
首先我们了解到在Java并发编程实战中==线程安全==的定义是这样的:当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替运行,并且不需要额外的同步及在调用该代码不必做其它的协调,这个类的行为仍然是正确的,那么这个类就是线程安全的。
由这定义我们可以知道,显然只有资源竞争时才会导致线程不安全,因此无状态对象永远是线程安全的。
==原子操作==的描述:多个线程执行一个操作时,其中任何一个线程要么完全执行完此操作,要么没有执行此操作的任何步骤,那么这个操作就是原子的。也就是原子类操作是不能被线程调度机制中断的操作。
文章只是作为自己的学习笔记,借鉴了网上的许多案例,如果觉得阔以的话,希望多交流,在此谢过…