当前位置: 首页 > Thinking in Java > 正文

第21章 – 并发 – 同步机制性能测试(Lock,synchronized,Atomic类)(P749)

第21章 – 并发 – 同步机制性能测试(Lock,synchronized,Atomic类)(P749)

 

1. 由执行结果可知:

 

   Lock,synchronized,Atomic中,synchronized的性能最差,Atomic性能最好.

   但是Atomic类只有在非常简单的情况下才有用,这些情况包括,你只有一个要被修改的Atomic对象,

   并且这个对象独立于其他所有的对象.

   Lock 性能优于synchronized,但是Lock使得程序可读性降低.

 

   执行结果:

   Warmup

BaseLine     :      36931789

============================

Cycles       :         50000

BaseLine     :      11323226

synchronized :      76147108

Lock         :      39562849

Atomic       :      13717666

synchronized/BaseLine : 6.72

Lock/BaseLine         : 3.49

Atomic/BaseLine       : 1.21

synchronized/Lock     : 1.92

synchronized/Atomic   : 5.55

Lock/Atomic           : 2.88

============================

Cycles       :        100000

BaseLine     :      18092244

synchronized :     226067000

Lock         :      49212400

Atomic       :      32785731

synchronized/BaseLine : 12.50

Lock/BaseLine         : 2.72

Atomic/BaseLine       : 1.81

synchronized/Lock     : 4.59

synchronized/Atomic   : 6.90

Lock/Atomic           : 1.50

============================

Cycles       :        200000

BaseLine     :      86070716

synchronized :     442244196

Lock         :      98803060

Atomic       :      77051972

synchronized/BaseLine : 5.14

Lock/BaseLine         : 1.15

Atomic/BaseLine       : 0.90

synchronized/Lock     : 4.48

synchronized/Atomic   : 5.74

Lock/Atomic           : 1.28

============================

Cycles       :        400000

BaseLine     :      85726538

synchronized :     754004489

Lock         :     186101585

Atomic       :      98848876

synchronized/BaseLine : 8.80

Lock/BaseLine         : 2.17

Atomic/BaseLine       : 1.15

synchronized/Lock     : 4.05

synchronized/Atomic   : 7.63

Lock/Atomic           : 1.88

============================

Cycles       :        800000

BaseLine     :     168371399

synchronized :    1563667450

Lock         :     393607288

Atomic       :     229484753

synchronized/BaseLine : 9.29

Lock/BaseLine         : 2.34

Atomic/BaseLine       : 1.36

synchronized/Lock     : 3.97

synchronized/Atomic   : 6.81

Lock/Atomic           : 1.72

 

代码:

 

打个赏呗

   微信打赏  支付宝打赏


本文固定链接: https://www.jack-yin.com/coding/thinking-in-java/2128.html | 边城网事

该日志由 边城网事 于2015年03月18日发表在 Thinking in Java 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 第21章 – 并发 – 同步机制性能测试(Lock,synchronized,Atomic类)(P749) | 边城网事
关键字: ,

第21章 – 并发 – 同步机制性能测试(Lock,synchronized,Atomic类)(P749) 暂无评论

发表评论

快捷键:Ctrl+Enter