焦点访谈:java中的原子操作是怎么样的?
java培训机构(粤嵌科技)表示:java现在在开发界的影响力时候有目共睹的,那么对于想要学习java技术的人来说,想要学习好java的话那么肯定是要先把java的知识点整理清楚并且学好的。下面粤嵌科技的小编就给大家讲解下java中的原子操作是怎么样的?

1、Java中的原子操作是什么?
所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间切换到另一个线程。
2、Java中的原子操作介绍:
jdk1.5的包为java.util.concurrent.atomic
这个包里面提供了一组原子类。其基本特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性。
即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择另一个线程进入,这只是一种逻辑上的理解。实际上是借助硬件的相关指令来实现的,但不会阻塞线程(synchronized 会把别的等待的线程挂,或者说只是在硬件级别上阻塞了)。
其中的类可以分成4组
- AtomicBoolean,AtomicInteger,AtomicLong,AtomicReference
- AtomicIntegerArray,AtomicLongArray
- AtomicLongFieldUpdater,AtomicIntegerFieldUpdater,AtomicReferenceFieldUpdater
- AtomicMarkableReference,AtomicStampedReference,AtomicReferenceArray
Atomic类的作用
- 使得让对单一数据的操作,实现了原子化
- 使用Atomic类构建复杂的,无需阻塞的代码
- 访问对2个或2个以上的atomic变量(或者对单个atomic变量进行2次或2次以上的操作)通常认为是需要同步的,以达到让这些操作能被作为一个原子单元。
AtomicBoolean , AtomicInteger, AtomicLong, AtomicReference 这四种基本类型用来处理布尔,整数,长整数,对象四种数据。
- 构造函数(两个构造函数)
- 默认的构造函数:初始化的数据分别是false,0,0,null
- 带参构造函数:参数为初始化的数据
- set( )和get( )方法:可以原子地设定和获取atomic的数据。类似于volatile,保证数据会在主存中设置或读取
- getAndSet( )方法
- 原子的将变量设定为新数据,同时返回先前的旧数据
- 其本质是get( )操作,然后做set( )操作。尽管这2个操作都是atomic,但是他们合并在一起的时候,就不是atomic。在Java的源程序的级别上,如果不依赖synchronized的机制来完成这个工作,是不可能的。只有依靠native方法才可以。
- compareAndSet( ) 和weakCompareAndSet( )方法
- 这两个方法都是conditional modifier方法。这2个方法接受2个参数,一个是期望数据(expected),一个是新数据(new);如果atomic里面的数据和期望数据一致,则将新数据设定给atomic的数据,返回true,表明成功;否则就不设定,并返回false。
- 对于AtomicInteger、AtomicLong还提供了一些特别的方法。getAndIncrement( )、incrementAndGet( )、getAndDecrement( )、decrementAndGet ( )、addAndGet( )、getAndAdd( )以实现一些加法,减法原子操作。(注意 --i、++i不是原子操作,其中包含有3个操作步骤:第一步,读取i;第二步,加1或减1;第三步:写回内存)。
文章标题:焦点访谈:java中的原子操作是怎么样的?
本文地址:http://etbv2.55jiaoyu.com/show-57433.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
本文地址:http://etbv2.55jiaoyu.com/show-57433.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
热门文档
推荐文档
- 11.康师傅3+2什么时候出的
- 12.农村信用社取一万出来需要利息吗
- 13.入户前可以贴装饰吗
- 14.2022年教师节是第几个教师节
- 15.龙拏虎掷的注音
- 16.京东如果有员工携款怎么处理
- 17.cf刷箱子技巧(cf刷箱子)
- 18.1000和375的最大公因数
- 19.关于情人节的文案给女朋友
- 20.梦见很多蜜蜂是什么意思呢
- 21.徐南铁书法价值高吗
- 22.梦见白狐狸是什么预兆
- 23.q50(关于q50的基本详情介绍)
- 24.音乐生180分高嘛
- 25.天号陈红盒38度多少钱(天号陈)
- 26.空中冲刺小游戏玩一玩(空中冲值)
- 27.幼猫吃什么奶粉好(幼猫吃什么)
- 28.银行保险柜续费能提前多久
- 29.喝牛奶记住4个最佳时间
- 30.彩云小梦可以在电脑上登录吗
- 31.林宥嘉妻子晒全家福(林宥嘉资料)
- 32.怀古诗是指文体吗
- 33.鬼节出生的人争议大吗
- 34.女生冬天穿的丝袜叫啥(关于它的介绍)
- 35.广州地铁3号线首末车时间
- 36.成都合院怎么停车
- 37.起亚k3能长时间断电吗
- 38.长沙阜埠河是条河吗
- 39.海山怎么去(怎么去海山)
- 40.暴雪预警分为哪四个等级
- 41.康明和酷肯哪个眼镜店好
- 42.虫草酒怎么泡(虫草酒如何泡)
- 43.西安火车站有军人优先通道吗
- 44.刘伯温简介(刘伯温介绍)
- 45.煮饺子用冷水还是热
- 46.情报和机电专业哪个好
- 47.小森生活熔炉怎么升2级
- 48.百式(关于百式的基本详情介绍)
- 49.长剑(关于长剑的基本详情介绍)
- 50.大国重器有哪36个重器
- 51.分享华为手机切换数据网络的方法
- 52.比多比少的八字口诀
- 53.小八义(关于小八义的基本详情介绍)
- 54.氯化钠的相对分子质量
- 55.晚娘下部(关于晚娘下部的基本详情介绍)
- 56.2022年河北水利电力学院各省录取分数线是多少
- 57.0除以任何数都得0对吗
- 58.初中历史
- 59.2025浙江最好的10个二本大学哪些二本院校实力强
- 60.收关与收官是什么意思
- 51.中职生可以通过哪些方法克服自卑?
- 52.宜宾市中专学校有哪些
- 53.南充市铁路运输学校食堂条件怎么样
- 54.南充市电竞学校2024年招生计划
- 55.南充市航空学校毕业后分配工作吗
- 56.宜宾市汽修学校毕业后分配工作吗
- 57.宜宾市汽修学校2024年招生要求
- 58.宜宾市建筑工程技术学校宿舍条件好不好
- 59.宜宾市航空专业学校2024年招生要求
- 60.南充市铁路学校2024年招生简章
- 61.安康往年卫校中专升大专学校
- 62.初中毕业学铁路专业发展前景怎么样?
- 63.公众号选题方法:,1个基础逻辑+2大选题技巧
- 64.职业高中会计专业毕业后好找工作吗?
- 65.藏红花为什么不能放冰箱-简短介绍
- 66.铁路学校能满足学生的就业需求
- 67.铁路运输专业就业前景如何?
- 68.空调开26度一晚上耗电多少-家庭须知
- 69. 成都市华商理工学校负责新生接待的电话是多少
- 70.乐山计算机学校招生办联系电话

