AtomicInteger类
今天写代码。尝试使用了AtomicInteger这个类,感觉使用起来非常爽,特别适用于高并发訪问。能保证i++,++id等系列操作的原子性。
++i和i++操作并非线程安全的。非常多人会用到synchronizedkeyword。相对与AtomicInteger这个类而言。
AtomicInteger能够用原子方式更新的
int 值。
AtomicInteger对int型加减操作的线程安全,性能上远远优越于synchronized。
这是AtomicInteger源代码中提供的所有接口方法。
构造方法摘要
AtomicInteger()
创建具有初始值 0 的新 AtomicInteger。
AtomicInteger(int initialValue)
创建具有给定初始值的新 AtomicInteger。
方法摘要
int addAndGet(int delta)
以原子方式将给定值与当前值相加。
boolean compareAndSet(int expect, int update)
假设当前值 == 预期值。则以原子方式将该值设置为给定的更新值。
int decrementAndGet()
以原子方式将当前值减 1。
double doubleValue()
以 double 形式返回指定的数值。
float floatValue()
以 float 形式返回指定的数值。
int get()
获取当前值。
int getAndAdd(int delta)
以原子方式将给定值与当前值相加。
int getAndDecrement()
以原子方式将当前值减 1。
int getAndIncrement()
以原子方式将当前值加 1。
int getAndSet(int newValue)
以原子方式设置为给定值,并返回旧值。
int incrementAndGet()
以原子方式将当前值加 1。
int intValue()
以 int 形式返回指定的数值。
void lazySet(int newValue)
最后设置为给定值。
long longValue()
以 long 形式返回指定的数值。
void set(int newValue)
设置为给定值。
String toString()
返回当前值的字符串表示形式。
boolean weakCompareAndSet(int expect, int update)
假设当前值 == 预期值,则以原子方式将该设置为给定的更新值。
以下贴一个简单的样例:
最新文章
- 读书笔记--SQL必知必会16--更新和删除数据
- HTML meta 头部的一些内容
- Windows下gvim的快捷键--“冒号+w+回车”真的很累人
- Error writing file‘frm‘(Errcode: 28)
- HTML 5 中的标准属性
- centos7下安装vsftpd配置
- ylbtech-Unitity-cs:计算阶乘值
- JQuery基础教程:选择元素(下)
- BZOJ 1876 SuperGCD
- 反调试技术(Delphi版)
- .net面试问答(大汇总)
- iis8.0配置 使用备忘 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容
- SQL一次查出相关类容避免长时间占用表(上)
- linux 上安装多个不同版本的mysql 踩的坑
- ES 常用的查询语句介绍
- SpringBoot入门教程(三)通过properties实现多个数据库环境自动切换配置
- vivado源文件和仿真文件的建立
- Centos-6.5搭建oracle11g RAC集群
- 内核开发知识第二讲,编写Kerner 程序中注意的问题.
- 利用 ImageAI 在 COCO 上学习目标检测