摘要: 显示锁 Lock  在 Java 5.0 之前,协调共享对象的访问时可以使用的机制只有 synchronized 和 volatile 。Java 5.0 后增加了一些新的机制,但并不是一种替代内置锁的方法,而是当内置锁不适用时,作为一种可选择的高级功能。  ReentrantLock 实现了 阅读全文
posted @ 2021-01-05 22:30 秋华 阅读(137) 评论(0) 推荐(0)
摘要: 1 Callable 接口  Java 5.0 在 java.util.concurrent 提供了一个新的创建执行线程的方式:Callable 接口  Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且 阅读全文
posted @ 2021-01-05 22:21 秋华 阅读(153) 评论(0) 推荐(0)
摘要: CountDownLatch  Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。  CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。  闭锁可以延迟线程的进度直到其 阅读全文
posted @ 2021-01-05 22:19 秋华 阅读(96) 评论(0) 推荐(0)
摘要: 1 ConcurrentHashMap  Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。  ConcurrentHashMap 同步容器类是Java 5 增加的一个线程安全的哈希表。对与多线程的操作,介于 HashMap 与 Has 阅读全文
posted @ 2021-01-05 22:05 秋华 阅读(150) 评论(0) 推荐(0)
摘要: 1 CAS 算法  CAS (Compare-And-Swap) 是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问。  CAS 是一种无锁的非阻塞算法的实现。  CAS 包含了 3 个操作数: 需要读写的内存值 V 进行比较的值 A 拟写入的 阅读全文
posted @ 2021-01-05 21:38 秋华 阅读(147) 评论(0) 推荐(0)
摘要: 内存可见性(Memory Visibility)是指当某个线程正在使用对象状态而另一个线程在同时修改该状态,需要确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化。 可见性错误是指当读操作与写操作在不同的线程中执行时,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根 阅读全文
posted @ 2021-01-05 21:06 秋华 阅读(130) 评论(0) 推荐(0)