Java並發編程-CAS

來源:互聯網
上載者:User

標籤:

CAS(Compare and swap)比較和替換是設計並發演算法時用到的一種技術。簡單來說,比較和替換是使用一個期望值和一個變數的當前值進行比較,如果當前變數的值與我們期望的值相等,就使用一個新值替換當前變數的值

Unsafe用法:

作用,如果當前值和期望值相等,則將當前值更新為新的值X,並返回true

否則什麼都不做,返回false

return unsafe.compareAndSwapInt(this, stateOffset, expect, update);/**    * Atomically update Java variable to <tt>x</tt> if it is currently    * holding <tt>expected</tt>.    * @return <tt>true</tt> if successful    */   public final native boolean compareAndSwapInt(Object o, long offset,                                                 int expected,                                                 int x);

參考文章:

http://ifeve.com/compare-and-swap/

Java並發編程-CAS

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.