#30天专注成长计划#java-原子方式结合单例模式更新数据-AtomicInteger

1.什么是AtomicInteger ?

听说这个类非常有用,更重要的是也非常简单,对于我这种简单实用主义的人来说,这个吸引力也怪大的,一下子就吸引了我,好了不扯淡了,言归正传

什么是AtomicInteger呢?它是一个提供原子操作的Integer,什么概念呢?一般int 数据类型的 变量i   在代码中使用i++   并不是线程安全的,在使用的时候,如果要保证线程安全,就必须使用到Synchronized 关键字,而AtomicInteger 则提供一种线程安全的加减操作。主要用在高并发环境下的高效程序处理。它是使用非阻塞算法来实现并发控制的。

IBM 工程师对他做了一个更加详细深入的介绍。

http://www.ibm.com/developerworks/cn/java/j-jtp11234/

2、他比直接使用传统的java锁机制(阻塞的)有什么好处?

最大的好处就是可以避免多线程的优先级倒置和死锁情况的发生,当然高并发下的性能提升也是很重要的。

3.实例:原子方式结合单例模式更新数据-AtomicInteger 我只是提一个引子,这样的示例,好像不能够更好的反应出AtomicInteger 的优秀的特点。倒是突出了单例模式,害羞,(✿◡‿◡)


#30天专注成长计划#java-原子方式结合单例模式更新数据-AtomicInteger_第1张图片


#30天专注成长计划#java-原子方式结合单例模式更新数据-AtomicInteger_第2张图片

运行结果如下: 截取片段运行结果


#30天专注成长计划#java-原子方式结合单例模式更新数据-AtomicInteger_第3张图片


参考资料:http://ifeve.com/better_atomicinteger/

http://www.cnblogs.com/Gordon-YangYiBao/archive/2012/08/07/2626422.html

你可能感兴趣的:(#30天专注成长计划#java-原子方式结合单例模式更新数据-AtomicInteger)