SE8-高并发问题-原子类的使用

该文章通过示例展示了Java中的AtomicInteger类如何在多线程环境下实现原子操作,如getAndIncrement()和incrementAndGet()方法,这两个方法分别实现了先获取值再加1和先加1再获取的新值的功能,确保了数据的安全性。
摘要由CSDN通过智能技术生成
package com.itheima._Atomic;
import java.util.concurrent.atomic.AtomicInteger;

public class AtomicIntegerTest {//AtomicInteger本类里面 获取是地址值
    public static void main(String[] args) {
        //创建原子类对象
        AtomicInteger atom = new AtomicInteger();
        System.out.println(atom); //0
        AtomicInteger atom2 = new AtomicInteger(10);
        System.out.println(atom2);//10
        System.out.println("=======================");
        //1. getAndIncrement() 先获取再 +1  类似于 i++
        int current = atom.getAndIncrement();
        System.out.println(current);//0
        System.out.println(atom);//1 //atom直接打印值,里面重写了toString
        System.out.println("=======================");
        //2. incrementAndGet() 先增1 后获取 类似于 ++i
        int num = atom2.incrementAndGet();
        System.out.println(num);//11
        System.out.println(atom2);//11
    }
}

0
10
=======================
0
1
=======================
11
11

原子类

AtomicInteger

原子类该类的操作 是一个整体,能够保证在多线程情况下仍是一个完整操作,就没有数据安全问题。

1. 常用方法

1. 构造方法

public void AtomicInteger();

public void AtomicInteger(int i);

AtomicInteger atom  = new AtomicInteger();
AtomicInteger atom2  = new AtomicInteger(10);

2. getAndIncrement()

先获取 再+1 类似于 i++

3. IncrementAndGet()

先加1 再获取值 类似于 ++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值