1.java.util.comcurrent包:
Exexutor框架:提供了一种标准的方法来执行任务的框架,例如:ExcutorService,ThreadPoolExecutor等。
Concurrent Collections:线程安全的集合类,如ConcurrentHashMap,CopyOnWriteArrayLisy等。
2.java.util.concurrent.atomic包:
原子类:提供了一些基本数据类型的原子操作类,如AtomicInteger,AtomicLong等。
3.java.util.concurrent.locks包:
显式锁:提供了更加灵活的锁机制,如ReentrantLock,ReadWriteLock等。
4.java.util.concurrent.atomic包:
原子变量:提供了在多线程环境下操作数值类型的原子操作,如 AtomicInteger,AtomicBoolean等。
5.java.util.concurrent各种工具类:
CountDownLatch:一个同步工具类,允许一个或多个线程等待其他线程完成操作。 CyclicBarrier:允许一组线程互相等待,知道到达某个公共屏障点。 Semaphore:用来控制同时访问特定资源的线程数量。
6.java.util.concurrent注解:
@GuardedBy:用于只是一个字段被某个特定锁(通常是对象的内置锁)保护。 @ThreadSafe:用于标识类或方法是线程安全的。