多线程练习-基于 AtomicInteger 实现多线程自增同一个变量

2023-11-06

        Atomic原子类有很多的类型,由于有原子性,所以实例化的变量在多线程中不会有线程安全问题,感兴趣的可以搜索

题目

基于 AtomicInteger 实现多线程自增同一个变量

代码及其注释

//基于 AtomicInteger 实现多线程自增同一个变量
//AtomicInteger表示原子类的Integer类型的变量,由于是原子类的,所以在多线程中不存在线程安全问题
//(当一个线程要对该类型的变量进行修改时会从始至终的修改完毕才轮到下一个线程进行修改)
public class Demo7 {
    //实例化一个原子类的Integer类型的变量count,初始值为0
    private static AtomicInteger count=new AtomicInteger(0);
    public static void main(String[] args) throws InterruptedException {
        //增加count变量5000次
        Thread t1=new Thread(()->{
            for(int i=0;i<5000;i++){
                count.getAndIncrement();    ///后置加加
//                count.incrementAndGet();    //前置加加
//                count.getAndDecrement();    //后置减减
//                count.decrementAndGet();    //前置减减
            }
        });

        //增加count变量5000次
        Thread t2=new Thread(()->{
            for(int i=0;i<5000;i++){
                count.getAndIncrement();    ///后置加加
            }
        });

        t1.start();
        t2.start();

        t1.join();
        t2.join();

        System.out.println(count);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多线程练习-基于 AtomicInteger 实现多线程自增同一个变量 的相关文章

随机推荐

  • Unity3D关于两个物体直接用圆柱进行连接画线(简单画线连接)

    最近做的东西需要用圆柱画线 网上找了些 没找到合适的 所以自己简单写了一个 这个函数只需要输入起始点和终点即可 材质可以自己调整 void DrawLS GameObject startP GameObject finalP Vector3
  • 从功能测试转型测试开发,薪资涨了20K,1000字讲述转型必经之路...

    身处职场之中 犹如逆水行舟不进则退 想要不被后浪拍死在沙滩上 就要不断学习新知识 接受新事物 要得到更好的发展 就要紧跟发展趋势 不断转型才能保持竞争力 在职场中占有一席之地 转型不是一件容易的事 涉及到转型 革新 就要突破现有的框架 必然
  • dreamweaver 正则表达式为属性值加上双引号_IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3...

    9 novalidate novalidate是属性规定在提交表单时不应该验证form和input域 novalidate属性适用于的类型有 text search url telephone email password date pic
  • webService淘汰了吗?

    当代开发者们已经很少见到相关的webService开发了 那么是该技术已经被淘汰了吗 先让我们来看看其和http接口的优劣吧 这里着重说webService 该服务协议为SOAP 简单对象访问协议 说白了就是http POST的一个专用版本
  • DVWA-命令注入

    命令注入漏洞的函数 system exec passthru shell exec 与shell exec 功能相同 一 low 1 分析源码 使用的函数是shell exec 2 验证 3 漏洞测试 前面命令的输出结果作为后面命令的输入
  • 随机森林和神经网络有什么区别?

    随机森林和神经网络这两种广泛使用的机器学习算法有什么区别呢 我们什么时候应该使用神经网络 什么时候又应该使用随机森林 随机森林与神经网络哪个更好 这是一个常见问题 答案其实也非常简单 视情况而定 调皮 一起来看看何时使用随机森林好以及何时使
  • Golang大坑之循环goroutine闭包调用

    前言 回顾整个2022 突然发现我一篇博客都没写 趁着还没2022还没过去 赶紧水一篇博客 分享一下我最近学习到的一些东西 这次的主题是 Golang大坑之循环goroutine闭包调用 大家就当小故事来看吧 小美又写了bug 仔细看 这个
  • jmeter-Java关于MD5加密方法 以及16位32位互转

    MD5即Message Digest Algorithm 5 信息 摘要算法5 用于确保信息传输完整一致 是计算机广泛使用的杂凑算法之一 又译摘要算法 哈希算法 主流编程语言普遍已有MD5实现 将数据 如汉字 运算为另一固定长度值 是杂凑算
  • GDB调试进程方法

    简单易懂的gdb调试进程方法 更新中 1 首先找出需要调试的进程PID 命令 ps ef grep 进程名 2 gdb attach PID 中断进程 并附着进程 接下来就可以调试了 3 设置断点 break 函数名 文件名 行号 比如 b
  • 基于元学习孪生网络的人脸识别算法(PC复现篇)

    一 说明 本文参考 Python元学习 通用人工智能的实现 第二章部分内容 修改代码使其在通用环境下跑通 本文为实际项目的前期学习汇报 后续项目也许会出现在博客或者我的b站账户上 物理系的计算机选手 原版完整代码 动手 元学习 使用 Pyt
  • python 水仙花数

    水仙花数 水仙花数是指 一个三位数各位数字的立方和等于该数本身 解析 使用多重循环来解 水仙花数的百位可能的数字为1 9 十位和个位可能的数字是0 9 用三重循环来遍历所有可能的数字组合 for bai in range 1 10 for
  • 电赛备战心酸历程!!!

    辛辛苦苦备战电赛两个月 然后电赛延期了
  • 时间序列-预测(Forcasting):时间序列预测算法总结

    一 背景介绍 绝大部分行业场景 尤其是互联网 量化行业 每天都会产生大量的数据 金融领域股票价格随时间的走势 电商行业每日的销售额 旅游行业随着节假日周期变化的机票酒店价格等 我们称这种不同时间收到的 描述一个或多种特征随着时间发生变化的数
  • 主题:java并发编程-Executor框架

    http www iteye com topic 366591
  • 【Opencv读取中文路径图像】

    Opencv读取中文路径图像 if img0 None uipath unicode path utf8 img data np fromfile path np uint8 img0 cv2 imdecode img data 1
  • Python~OS模块--将文件保存到指定路径

    需求 写爬虫时 想将爬取下来的文件保存到指定的路径 环境 Python3 7 注意 windows下 用于区分系统路径 在python里面是转义符 os listdir 返回指定目录下的所有目录和文件名 os mkdir 创建指定路径下目录
  • 一维条码解码

    一维条码是一种能用于信息编码和信息自动识别的标准符号 是由一组宽度不同的黑白符号按一定规则交替排列编码组成的图形符号可用于表示一定的信息 它是对物品进行代号标识需要依赖数据库或通讯网络才能发挥最大的作用 常见的码制 条码符号类型 有EAN
  • Nacos踩坑记录之The IPv4 address(“nacos.xxxx.local“) is incorrect

    版本 spring cloud alibaba 2021 1 项目构建工具 gradle nacos server 2 0 3 1 问题 昨天早上上班来了之后 运营的同事着急的过来说生产环境登不上了 我赶紧打开日志看了之后 就发现了这样的报
  • C语言期末大作业-运动会管理系统 包含源码和设计文档

    C语言 运动会管理系统 源码和3000多字的设计文档非常详细 代码注释非常详细 部分功能测试截图如下 下载链接在文末 点我下载资源 https download csdn net download weixin 43474701 60281
  • 多线程练习-基于 AtomicInteger 实现多线程自增同一个变量

    Atomic原子类有很多的类型 由于有原子性 所以实例化的变量在多线程中不会有线程安全问题 感兴趣的可以搜索 题目 基于 AtomicInteger 实现多线程自增同一个变量 代码及其注释 基于 AtomicInteger 实现多线程自增同