AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。

import java.util.concurrent.atomic.AtomicInteger;
/**
 * 来看AtomicInteger提供的接口。

//获取当前的值
 
 public final int get()
 
 //取当前的值,并设置新的值
 
  public final int getAndSet(int newValue)
 
 //获取当前的值,并自增
 
  public final int getAndIncrement() 
 
 //获取当前的值,并自减
 
 public final int getAndDecrement()
 
 //获取当前的值,并加上预期的值
 
 public final int getAndAdd(int delta)

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

转载于:https://www.cnblogs.com/zhulin-jun/p/5119064.html

AtomicInteger相关推荐

  1. LeetCode 1195. Fizz Buzz Multithreaded--并发系列题目--Java 解法--AtomicInteger/CountDownLatch/CyclicBarrier

    题目地址:Fizz Buzz Multithreaded - LeetCode Write a program that outputs the string representation of nu ...

  2. LeetCode1117. Building H2O --Java解法--多线程保证执行顺序--AtomicInteger

    此文首发于我的个人博客:LeetCode 1117. Building H2O --Java解法–多线程保证执行顺序–AtomicInteger - zhang0peter的个人博客 LeetCode ...

  3. Java CAS AtomicInteger使用

    有问题的: import java.util.concurrent.CountDownLatch;public class AtomicIntegerTest {public int count;pu ...

  4. AtomicInteger源码注释

    AtomicInteger源码 在java.util.concurrent.atomic包下提供了大量的原子类,这里以AtomicInteger源码为例,添加了一些注释,个人理解,供参考: 其中比较重 ...

  5. AtomicInteger源码分析——基于CAS的乐观锁实现

    原文出处: bestStyle 1. 悲观锁与乐观锁 我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换, ...

  6. 原子操作类AtomicInteger详解

    为什么需要AtomicInteger原子操作类? 对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的.num++解析为num=num+1,明显,这个操作 ...

  7. 深入解析Java AtomicInteger 原子类型

    深入解析Java AtomicInteger原子类型 在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是实现线程安全.线程安全的定义如下: 当多个线程访问某个类时,不 ...

  8. AtomicInteger原子性

    AtomicInteger 保证多线程,可见变量的原子性 package com.bjsxt.base.sync007;import java.util.concurrent.atomic.Atomi ...

  9. 死磕java并发cas_死磕 java并发包之AtomicInteger源码分析

    问题 (1)什么是原子操作? (2)原子操作和数据库的ACID有啥关系? (3)AtomicInteger是怎么实现原子操作的? (4)AtomicInteger是有什么缺点? 简介 AtomicIn ...

最新文章

  1. 全排列 ---java
  2. netty 管道和handler的加载和处理流程
  3. ora-24811提供写入的数据少于指定的数据_C++开源、高性能时序数据库pinusdb
  4. GDCM:gdcm::ModuleEntry的测试程序
  5. 编写第一个HADOOP应用程序
  6. 论文浅尝 | 融合多层次领域知识的分子图对比学习
  7. 线程的特点 java 1615387415
  8. 关于跨域问题的解决办法
  9. (转)Managed DirectX +C# 开发(入门篇)(八)
  10. Can not find the tag library descriptor for “http://java.sun.com/jsp/jstl/core“
  11. vmware esxi 资源池详解
  12. 联想小新Air2020ill版换硬盘及安装Win11详细过程
  13. linux安装教程黑屏,解决SUSE Linux安装黑屏
  14. 脉冲计数器校准配置方案
  15. 两因素身份验证增强您的Spring Security
  16. Android中实现简单的仿京东详情页面
  17. 模拟电路 二极管门电路(二)
  18. 双翌视觉对位软件MasterAlign放入SY_License.Dat加密锁加密文件
  19. 《心田上的百合花》阅读理解题:心田花开——含答案
  20. 智慧城市 智慧园区_真正的智慧

热门文章

  1. ArchiCAD 23中文版
  2. Python 3.3.2 中文版
  3. phpstuday 修改网站访问目录
  4. ajax 三种数据格式
  5. Linux之虚拟机里的REHL7的IP
  6. [持续收集]中国好注入-语句
  7. Linux中使用export命令设置环境变量
  8. C二维数组行为空,列不为空
  9. [MicroPython]TPYBoard v102 CAN总线通信
  10. CentOS7Jenkins安装