Java中AtomicInteger的使用!!!
2024-08-31 13:37:17
今天在看Volley的源码的时候,看到里面使用了AtomicInteger这个类,曾经没用过,今天看了一下API学习了一下:
首先介绍一下这个类的用处,这个类主要是用来替换java中的自增和自减操作,也就是i++和++i等这个运算,为什么要使用这个类了,主要是由于i++和i--等运算是线程不安全的,所以就须要这个类来替换,接下来不多说,直接上代码,看不懂的能够參照帮助文档:
public class Test {
public static void main(String[] args) {
AtomicInteger integer = new AtomicInteger();
integer.set(1);
int i = integer.get(); //获得值
System.out.println(i);
i = integer.incrementAndGet(); //先+1,然后在返回值,相当于++i
System.out.println(i);
i = integer.getAndIncrement();//先返回值,然后在+1,相当于i++
System.out.println(i);
i = integer.get();
System.out.println(i);
i = integer.decrementAndGet();//先-1,然后在返回值,相当于--i
System.out.println(i);
i = integer.getAndDecrement();//先返回值,然后在-1,相当于i--
System.out.println(i);
i = integer.get();
System.out.println(i);//1
i = integer.addAndGet(1);//先+n,然后在返回值,
System.out.println(i);
i = integer.getAndAdd(1);//先返回,然后+n
System.out.println(i);
i = integer.get();
System.out.println(i);
}
}
输出的结果为:
1
2
2
3
2
2
1
2
2
3
最新文章
- iOS-关于使用其他应用打开本应用文档
- docker基础命令
- YTU 3008: 链串的基本运算
- POJ 1026 Cipher(置换群)
- eclipse配置j2ee项目
- html系列教程--header head iframe img
- 优步uber司机怎么注册不了?注册优步司机问题要点
- bzoj2884 albus就是要第一个出场
- (NO.00005)iOS实现炸弹人游戏(六):游戏数据的初始化(三)
- 微信小程序之onLaunch与onload异步问题
- 创建一个Windows服务程序与实现定时器效果
- Linux下批量修改后缀名
- ETC的发展演变
- ECShop全系列版本远程代码执行高危漏洞分析+实战提权
- uwsgi多进程配合kafka-python消息无法发送
- (转)awesome-text-summarization
- [转载] python必碰到的问题---encode与decode,中文乱码
- Unity3D使用碰撞体做触发器实现简单的自己主动开门
- 《快学 Go 语言》第 16 课 —— 包管理 GOPATH 和 Vendor
- tcpdump查看某个端口数据
热门文章
- Mojo C++ Bindings API
- 在vue中使用的Echarts的步骤
- BZOJ 3881 [Coci2015]Divljak(AC自动机+树状数组)
- [洛谷P1892][codevs2597]团伙
- vue.js的<;slot>;
- Oracle with as 嵌套
- Jedis无法连接centOS7上的redis
- LaTeX argmin argmax 下标使用方法
- Hadoop2.6.0配置參数查看小工具
- log_archive_min_succeed_dest