AtomicInteger简介

简介:

package test;

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)

[html]  view plain  copy
 print ?
  1. package app08a.listener;  
  2. import java.util.concurrent.atomic.*;  
  3. public class test {  
  4.      public static void main(String[] args) {  
  5.           AtomicInteger ai=new AtomicInteger(0);  
  6.           int i1=ai.get();  
  7.           v(i1);  
  8.           int i2=ai.getAndSet(5);  
  9.           v(i2);  
  10.           int i3=ai.get();  
  11.           v(i3);  
  12.           int i4=ai.getAndIncrement();  
  13.           v(i4);  
  14.           v(ai.get());  
  15.             
  16.          }  
  17.          static void v(int i)  
  18.          {  
  19.           System.out.println("i : "+i);  
  20.          }  
  21. }  

输出结果为:

i : 0
i : 0
i : 5
i : 5
i : 6

目录
相关文章
|
11月前
|
Java API
StampedLock源码分析(1)
之前已经说过了ReentrantLock ReentrantReadWriteLock,可以参考之前的博客。在ReentrantReadWriteLock源码解析文末,我提到了ReentrantReadWriteLock的缺点,就是无法避免写线程饥渴的问题,而今天要说的StampedLock提供了乐观读的API,解决了写饥渴的问题。
48 0
|
2月前
|
存储 Java 开发者
synchronized源码分析解读
该文章主要探讨了Java中synchronized关键字的工作原理及其相关的源码分析,概括了synchronized关键字的基本概念、特性和其实现机制。通过源码分析进一步揭示了synchronized背后的运作原理。
|
4月前
|
安全 Java C语言
【学习笔记 time:】 CAS底层原理分析(AtomicInteger,atomicStampedReference使用)
【学习笔记 time:】 CAS底层原理分析(AtomicInteger,atomicStampedReference使用)
18 0
|
5月前
|
安全 Java
Java一分钟之-并发编程:原子类(AtomicInteger, AtomicReference)
【5月更文挑战第18天】Java并发编程中的原子类如`AtomicInteger`和`AtomicReference`提供无锁原子操作,适用于高性能并发场景。`AtomicInteger`支持原子整数操作,而`AtomicReference`允许原子更新对象引用。常见问题包括误解原子性、过度依赖原子类以及忽略对象内部状态的并发控制。要避免这些问题,需明确原子操作边界,合理选择同步策略,并精确控制原子更新。示例代码展示了如何使用这两个类。正确理解和使用原子类是构建高效并发程序的关键。
47 1
|
5月前
|
安全 Java
AtomicInteger 的使用
AtomicInteger 的使用
40 1
|
5月前
|
缓存 安全 算法
Java并发基础:原子类之AtomicInteger全面解析
【2月更文挑战第2天】AtomicInteger类提供了线程安全的整数操作,它通过利用底层硬件的原子性指令,能够在多线程环境中高效地实现整数的无锁更新,避免了传统同步机制带来的性能开销,在高并发场景下成为计数器可大幅提高程序的执行效率,同时又保证了数据一致性。
195 16
Java并发基础:原子类之AtomicInteger全面解析
|
5月前
|
设计模式 算法 安全
阿里推荐 LongAdder ,不推荐 AtomicLong !
在分布式系统中,计数器是一个常见的需求。为了实现高并发、高可用的计数器,我们需要选择一个合适的实现方式。在 Java 中,有两种常见的计数器实现方式:AtomicLong 和 LongAdder。最近,阿里巴巴在一份技术报告中推荐使用 LongAdder ,而不是 AtomicLong。本文将介绍这两种计数器的原理和优缺点,并分析为什么阿里巴巴推荐使用 LongAdder。
106 3
|
11月前
|
缓存 Java 索引
源码系列-LongAdder和AtomicLong对比
源码系列-LongAdder和AtomicLong对比
32 0
|
存储 缓存 算法
LongAdder的源码学习与理解
LongAdder 有了AtomicLong为什么还要LongAdder LongAdder中的主要方法
123 3
LongAdder的源码学习与理解
|
设计模式 Java API
StampedLock源码分析
StampedLock源码分析
83 0
StampedLock源码分析