1.什么是AtomicInteger ?
聽說這個類非常有用,更重要的是也非常簡單,對于我這種簡單實用主義的人來說,這個吸引力也怪大的,一下子就吸引了我,好了不扯淡了,言歸正傳
什么是AtomicInteger呢?它是一個提供原子操作的Integer,什么概念呢?一般int 數據類型的 變量i ? 在代碼中使用i++ ? 并不是線程安全的,在使用的時候,如果要保證線程安全,就必須使用到Synchronized 關鍵字,而AtomicInteger 則提供一種線程安全的加減操作。主要用在高并發環境下的高效程序處理。它是使用非阻塞算法來實現并發控制的。,
IBM 工程師對他做了一個更加詳細深入的介紹。
http://www.ibm.com/developerworks/cn/java/j-jtp11234/
2、他比直接使用傳統的java鎖機制(阻塞的)有什么好處?
最大的好處就是可以避免多線程的優先級倒置和死鎖情況的發生,當然高并發下的性能提升也是很重要的。
3.實例:原子方式結合單例模式更新數據-AtomicInteger 我只是提一個引子,這樣的示例,好像不能夠更好的反應出AtomicInteger 的優秀的特點。倒是突出了單例模式,害羞,(????)
運行結果如下: 截取片段運行結果
參考資料:http://ifeve.com/better_atomicinteger/
http://www.cnblogs.com/Gordon-YangYiBao/archive/2012/08/07/2626422.html