Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等

Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。

java.util.concurrent包分成了三个部分,分别是java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.lock。内容涵盖了并发集合类、线程池机制、同步互斥机制、线程安全的变量更新工具类、锁等等常用工具。

java.util.concurrent包中提供了几个并发结合类,例如ConcurrentHashMapConcurrentLinkedQueueCopyOnWriteArrayList等等

对变量的读写操作都是原子操作(除了long或者double的变量),但像数值类型的++ --操作不是原子操作,像i++中包含了获得i的原始值、加1、写回i、返回原始值,在进行类似i++这样的操作时如果不进行同步问题就大了。好在java.util.concurrent.atomic为我们提供了很多工具类,可以以原子方式更新变量。

AtomicInteger为例,提供了代替++ --getAndIncrement()incrementAndGet()getAndDecrement()decrementAndGet()方法,还有加减给定值的方法、当前值等于预期值时更新的compareAndSet()方法。

 

你可能感兴趣的:(java基础,java基础知识)