读书人

Java 理论与实践: JDK 5.0 中更灵便、

发布时间: 2013-03-22 09:49:50 作者: rapoo

Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制
?

图 2. synchronized 和 Lock 的吞吐率(标准化之后),4 个 CPU
Java 理论与实践: JDK 5.0 中更灵便、更具可伸缩性的锁定机制?

图 1 和图 2 中的图表以每秒调用数为单位显示了吞吐率,把不同的实现调整到 1 线程?synchronized?的情况。每个实现都相对迅速地集中在某个稳定状态的吞吐率上,该状态通常要求处理器得到充分利用,把大多数的处理器时间都花在处理实际工作(计算机随机数)上,只有小部分时间花在了线程调度开支上。您会注意到,synchronized 版本在处理任何类型的争用时,表现都相当差,而Lock?版本在调度的开支上花的时间相当少,从而为更高的吞吐率留下空间,实现了更有效的 CPU 利用。

?

图 4. 使用 1 个 CPU 时的同步、协商和公平锁的相对吞吐率
Java 理论与实践: JDK 5.0 中更灵便、更具可伸缩性的锁定机制?

参考资料

读书人网 >编程

热点推荐