java原子整数_多线程(四、原子类-AtomicInteger)

案例

10个线程并发累加一个整数,每个线程累加1000,保证线程安全

Unsafe类,来源于sun.misc包。该类封装了许多类似指针操作,可以直接进行内存管理、操纵对象、阻塞/唤醒线程等操作。

package com.jane;

import java.util.ArrayList;

import java.util.List;

import java.util.concurrent.atomic.AtomicInteger;

public class Main {

public static void main(String[] args) throws InterruptedException {

AtomicInteger ai = new AtomicInteger();

List list = new ArrayList<>();

for (int i = 0; i < 10; i++) {

Thread t = new Thread(new Accumlator(ai), "thread-" + i);

list.add(t);

t.start();

}

for (Thread t : list) {

t.join();

}

System.out.println(ai);

}

static class Accumlator implements Runnable {

private AtomicInteger ai;

Accumlator(AtomicInteger ai) {

this.ai = ai;

}

@Override

public void run() {

for (int i = 0, len = 1000; i < len; i++) {

ai.incrementAndGet();

}

}

}

}

运行结果

079563ea3ce05c5f94cf4fa982ca4ce5.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 极客_Java极客思维

​开篇介绍大家好&#xff0c;公众号【Java极客思维】近期会整理一些Java高频面试题分享给小伙伴&#xff0c;也希望看到的小伙伴在找工作过程中能够用得到&#xff01;本章节主要针对Java一些消息中间件高频面试题进行分享。通知&#xff1a;公众号【Java极客思维】正在送书福…

java拼三级魔方_魔方秘籍(详细解法)《三阶》

魔方根据视频理解&#xff1a;上 下 左 右先将白面变好&#xff1a;(1).变一个白十字(如图所示)(2).转好以后检查十字的四个角的颜色(蓝绿红橙)与旁边面上的中心块的颜色是否相同。(有两个相同的时&#xff0c;如果它们相邻&#xff0c;就一个放在后面&#xff0c;一个放在左面…

pHp30充电宝能用快充吗,65W快充 30分钟充满电 是时候淘汰充电宝了吗?

在过去的一年里&#xff0c;手机快充技术有了新的突破&#xff0c;OPPO推出了65W快充。无独有偶&#xff0c;联想拯救者电竞手机的预热宣传中&#xff0c;号称搭载90W快充。有评测称&#xff0c;使用65W快充&#xff0c;30分钟可以充满一块4000mAh容量的电池&#xff0c;使用90…

matlab画圆柱,Matlab 画三维圆柱体

主要学习了画空间圆柱体和空间长方形的绘制方法。有两个surface property&#xff1a;FaceColor和EdgeColor’;先讲FaceColor’&#xff0c;它指定了surface画出曲面的颜色&#xff0c;可以是[r,g,b]的一个向量&#xff0c;分别表示了红绿蓝的颜色配比&#xff1b;也可以是inte…

matlab类间散度矩阵,协方差矩阵和散布矩阵(散度矩阵)的意义

在机器学习模式识别相关算法中&#xff0c;经常需要求样本的协方差矩阵C和散布矩阵S。如在PCA主成分分析中&#xff0c;就需要计算样本的散度矩阵&#xff0c;而有的教材资料是计算协方差矩阵。实质上协方差矩阵和散度矩阵的意义就是一样的&#xff0c;散布矩阵(散度矩阵)前乘以…

把树分成森林 matlab,20170106RF_Matlab 随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,包括两个方面:数据的随 269万源代码下载- www.pudn.com...

文件名称: 20170106RF_Matlab下载 收藏√ [5 4 3 2 1 ]开发工具: matlab文件大小: 441 KB上传时间: 2017-01-06下载次数: 0提 供 者: yanxiu详细说明&#xff1a;随机森林指的是利用多棵树对样本进行训练并预测的一种分类器&#xff0c;包括两个方面&#xff1a;数据的随…

php绘制频谱图,一步一步教你实现iOS音频频谱动画(二)

本文是系列文章中的第二篇&#xff0c;上篇讲述了音频播放和频谱数据计算&#xff0c;本篇讲述数据处理和动画的绘制。前言在上篇文章中我们已经拿到了频谱数据&#xff0c;也知道了数组每个元素表示的是振幅&#xff0c;那这些数组元素之间有什么关系呢&#xff1f;根据FFT的原…

php删除尾部字符,php如何删除字符串末尾字符

我们知道字符串删除字符的方式有好几种&#xff0c;今天就来介绍三种php删除字符串最后一个字符的函数&#xff0c;有需要的小伙伴可以参考一下。方法一&#xff1a;substr()函数substr()函数返回字符串的一部分。语法如下&#xff1a;substr(string string, int start, int [l…

PHP 蒙太奇马赛克拼图,AndreaMosaic制作一幅马赛克拼图

大家在网上应该都见过用很多幅图片拼成的马赛克图片&#xff0c;今天小编就为大家介绍AndreaMosaic制作一幅马赛克拼图方法&#xff0c;不会的朋友快快来学习吧&#xff01;软件名称&#xff1a;AndreaMosaic(蒙太奇图片制作软件) V6.1.0.4 中文安装免费版软件大小&#xff1a;…

oracle字段类型设计,Oracle字段类型设计与实际业务不符引发的问题

在Oracle表的设计过程中&#xff0c;开发人员总是对字段的类型不以为然&#xff0c;下面来演示一个例子&#xff0c;按照应该设计为number的&#xff0c;结果设计成了varcha在Oracle表的设计过程中&#xff0c;开发人员总是对字段的类型不以为然&#xff0c;下面来演示一个例子…

linux下进程监控6,Linux进程监控技术—精通软件性能测试与LoadRunner最佳实战(6)...

8.2.5 Linux操作系统进程监控技术Linux在进程监控方面同样出色&#xff0c;不仅可以通过图形用户界面的管理工具&#xff0c;还可以用命令方式显示进程相关信息。像“Windows的任务管理器”一样&#xff0c;在RedHat 9中可以通过单击“系统工具”→“系统监视器”&#xff0c;…

linux 命令行 迅雷替代,Mac/Linux下迅雷替代方案

还记得我两年前写的《DIY了家用NAS》吗&#xff1f;现在又带来新的升级啦。当初的NAS最多能使用Transmission来进行BT下载&#xff0c;那时就在想&#xff0c;如果能下载普通的http资源就好了。再进一步&#xff0c;有什么方案可以通吃所有下载方式呢&#xff1f; 记得那个时候…

linux好用的编译器,推荐几款Linux下比Notepad++好的编辑器软件

Notepad这一段又出风头了&#xff0c;好好的做你软件多好&#xff0c;非得参杂入政治。前两天开源文本编辑器 Notepad 发布了 7.8.1 版本&#xff0c;然后在该版本中作者居然摸黑中国&#xff0c;具体的内容请大家自行百度。而且这已经不是 Notepad 第一次这么干了&#xff01;…

linux boost教程,Linux上安装使用Boost入门指导

获得boostboost分布只需要头文件的库使用boost建立一个简单的程序准备使用boost二进制文件库把你的程序链接到boost库1.获得boost解压2.boost分布boost_1_46_1.........................boost根目录boost/.....................................所有boost头文件libs/..........…

vps如何linux内核4.19,Linux kernel 4.19 RC1 发布,一个相当大的版本

原标题&#xff1a;Linux kernel 4.19 RC1 发布&#xff0c;一个相当大的版本Linus Torvalds今天发布了第一个候选版本(RC)&#xff0c;正式启动了即将推出的Linux 4.19内核系列的开发周期。自Linux 4.18内核系列推出以来已经过去两周了&#xff0c;因此下一个主要版本Linux ke…

arm linux 存储,linux arm的存储分布那些事

原标题&#xff1a;linux arm的存储分布那些事linux arm 内存分布总览上图是linux的arm的虚拟地址分布总览&#xff0c;我们按从低地址到高地址的顺序逐个描述&#xff0c;每项的描述包括如下的内容的组和&#xff1a;地址范围大小&#xff0c;虚拟转物理的接口函数&#xff0c…

linux恢复终端默认配置,以gnome-terminal为例,修改gnome3 的默认配置,

以gnome-terminal为例&#xff0c;修改gnome3 的默认配置&#xff0c;gnome连续几个版本的terminal默认配置文件都是同一个配置文件“b1dcc9dd-5262-4d8d-a863-c897e6d979b9”。这是因为gnome的developers编辑了这个配置文件并作为gnome-terminal的默认配置文件&#xff0c;用来…

com.sec.android.app.smartclipservice,EPR Aerospace News

The World Cup Ball And Its Astonishing Effects Can Be Easily Explained Through TheTheory Of Dynamic Interactions, Which Also Applies To The Flight Of The Boomerang.The official World Cup ball, the so called “Jabulani”, which has been object of a lot of c…

html表格内文字置顶,css如何让table里的字居中?

css如何让table里的字居中&#xff1f;下面本篇文章就来给大家介绍一下使用CSS让table里字居中的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。在CSS中&#xff0c;可以通过设置text-align: center;和vertical-align:middle;来…

html5离开网页自动暂停,通过html5代码在网页中实现播放和暂停音乐mp3,mav等文

介绍通过html5代码在网页中实现播放和暂停音乐mp3,mav等文件的具体操作方法。这样对于用户来说&#xff0c;在线可播放功能能大大提高站内效率也可带来一定的流量。希望对有需要的朋友有所帮助。这里我们需要先了解下&#xff0c;在html5中的两个个重要标签。阿里西西web开发网…