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的使用簡單點 測試

相關文章
相關標籤/搜索