程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-線程不安全會發生什麼問題?

java-線程不安全會發生什麼問題?

編輯:編程綜合問答
線程不安全會發生什麼問題?

線程不安全會發生什麼問題?
線程不安全會發生什麼問題?
線程不安全會發生什麼問題?

最佳回答:


舉例:
兩個線程共享一個堆上的公共變量a
線程1和線程2都有如下代碼
int c = a;
c = c + 1;
a = c; //實際上可能寫的是a++,但是a++看上去是原子的,為了演示,寫成如上的形式。
假設a=100,按照預期,兩個線程各執行一次,結果應該是102,但是可能出現101:
線程1:c = a; c = c +1;,此時c = 101,線程2執行c = a,此時a還是100,c = c + 1,c= 101。然後線程1寫回101,線程2也寫回101。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved