并发集合(九)使用原子 arrays
声明:本文是《 Java 7 Concurrency Cookbook 》的第六章, 作者: Javier Fernández González 译者:郑玉婷 校对:黄庭
当你实现一个多个线程共享一个或者多个对象的并发应用时,你就要使用像锁或者同步关键词(例如synchronized)来对他们的属性的访问进行保护,来避免并发造成的数据不一致的错误。
但是这些机制会有以下一些缺点:
死锁(dead lock):例如:当一个线程等待一个锁的时候,会被阻塞,而这个锁被其他线程占用并且永不释放。这种情况就是死锁,程序在这种情况下永远都不会往下执行。
即使只有一个线程在访问共享对象,它也要执行必要的获取锁和释放锁的代码。 阅读全文