會造成線程挂起
會造成線程排程開銷
如果一個線程死鎖會造成其它都不能執行
現在的cpu提供了一些諸如測試并設定,比較并交換這樣的原子操作指令,為我們的樂觀鎖提供了支援。
通常的用法是,取出v然後進行一定的操作,通過cas會寫值。如:
java提供了一些原子類,能夠把其中的方法改為硬體底層的鎖機制, 如果不能則會使用自旋鎖的方式,來完成這個功能。
<a href="http://hustpawpaw.blog.163.com/blog/static/184228324201210811243127/">http://hustpawpaw.blog.163.com/blog/static/184228324201210811243127/</a>