亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java AtomicInteger線程安全問題

java AtomicInteger線程安全問題

public class TTTT implements Runnable{public static AtomicInteger ato = new AtomicInteger(1);int i = 1;public static void main(String[] args) {    TTTT t = new TTTT();    for (int i = 0;i<100; i++){        new Thread(t).start();    }}public void rrrr() throws Exception{    Thread.sleep(100);    int preVal = ato.get();    int val = ato.incrementAndGet();    System.out.println(preVal+" ########### "+val);}@Override public void run() {    try {        rrrr();    } catch (Exception e){    }}}AtomicInteger 的incrementAndGet是線程安全的計數方法上面代碼執行結果是:1 ########### 45 ########### 61 ########### 39 ########### 109 ########### 1113 ########### 1416 ########### 181 ########### 28 ########### 96 ########### 74 ########### 57 ########### 818 ########### 1916 ########### 1714 ########### 1515 ########### 1612 ########### 1311 ########### 1219 ########### 2121 ########### 2222 ########### 2319 ########### 2023 ########### 2424 ########### 25無法保證順序,線程安全體現在哪里呢
查看完整描述

2 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

AtomicInteger是一個原子類,顧名思義,它能保證一些操作是原子性的,比如說++、--等操作,這些操作在多線程的情況并不是線程安全的,但是使用原子類可以保證這些操作的原子性,從而來保證線程的安全性。

查看完整回答
反對 回復 2018-10-14
  • 2 回答
  • 0 關注
  • 1543 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號