IP属地:北京
什么是内存模型 假设一个线程为变量 aVariable 赋值: 内存模型需要解决的问题是:在什么条件下,读取aVariable的线程将看到这个值...
在 JAVA 并发包的许多类中,例如Semaphore 和 ConcurrentLinkedQueue,都提供了比synchronized机制更...
显式锁 Java 5之前,在协调共享对象的访问时可以使用的机制只有synchronized和volatile。Java 5增加了Reentran...
在ReentrantLock和Semaphore这两个接口之间存在许多共同点。这两个类都可以用做一个“阀门”,即每次只允许一定数量的线程通过,并...
对性能的思考 提升性能意味着用更少的资源做更多的事情。 “资源”的含义很广。对于给定的操作,通常会缺乏某种特定的资源,例如CPU时钟周期、内存、...
本篇文章通过服务器通信和页面渲染两个功能的实现来加深多线程中Future和Executor的理解。 服务器通信 串行执行任务 任务执行最简单的策...
基础构建模块 并发容器 同步容器将所有对容器状态的访问都串行化,以实现它们的线程安全性。 ConcurrentHashMap 同步类容器在执行每...
线程安全基础 最低安全性 当线程在没有同步的情况下读取变量时,可能会得到一个失效值,但至少这个值是由之前某个线程设置的值,而不是一个随机值。这种...