Lock和sycnoized性能对比

如今测试不一样线程下的表现(时间单位ms): 多线程

  1 10 50 100 500 1000 5000
synchronized 542 4894 4667 4700 5151 5156 5178
lock 838 1211 821 847 851 1211 1241

能够看到,在多线程环境并存在大量竞争的状况下,synchronized的用时迅速上升,而lock却依然保存不变或增长不多。 性能

 

Lock是用CAS来实现的
JDK 1.6以上synchronized也改用CAS来实现了,因此二者性能差很少
Lock提供的功能丰富点,synchronized的使用简单点 测试

相关文章
相关标签/搜索