焦点访谈: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://m4.55jiaoyu.com/show-57433.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
						
						
						
						
					本文地址:http://m4.55jiaoyu.com/show-57433.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.PDD现在为什么不直播了?
 - 12.任尔东西南北风前一句是什么(任尔东西南北风的前一句是啥来)
 - 13.广东的一本大学有哪些学校?广东省一本大学名单排名(2023参考)
 - 14.江苏南通职业大学(江苏南通职业大学有哪些专业)
 - 15.天津高考作文(天津高考作文跑题了能给多少分)
 - 16.上海财大录取分数线预测(上海财大录取分数线预测2022是多少分)
 - 17.四级成绩什么时候出(四级成绩什么时候出2023年三月份的)
 - 18.表达思念爱人的诗成语(表达思念爱人的诗成语有哪些)
 - 19.2013会考成绩查询(2013会考成绩查询入口网站官网)
 - 20.五年级牛郎织女缩写作文
 - 21.简单一点的辞职信5篇
 - 22.干警观看交通安全事故警示教育心得五篇
 - 23.护理专升本难吗通过率有多大
 - 24.图字行书图字书法图片大全(行书七字春联书法欣赏)
 - 25.国家税务局山西省电子税务局网上申报系统怎么报税-牛求...(国家税务总局山西省电子税务局报税方法)
 - 26.宝玉石鉴定与加工(宝玉石鉴定与加工毕业设计和任务书)
 - 27.温情脉脉
 - 28.淮北卫校(淮北卫校2023年招生计划)
 - 29.cute是什么意思—mule是什么意思
 - 30.新产品发布会开幕式致辞范文
 - 31.学籍卡有什么用,学籍卡和学生证的区别是什么
 - 32.中考体育没考好,可以申请重考吗?如何申请?
 - 33.叫我如何不想她,叫我如何不想她赵元任唱
 - 34.requires(requirespermissions注解)
 - 35.动物医学就业前景(中国农业大学动物医学就业前景)
 - 36.39所985大学排名2022最新排名-全国985大学最新排名2022
 - 37.遵守教师职业道德情况总结
 - 38.财务预算怎么做、财务预算怎么做模板
 - 39.OPPO是什么意思OPPO是什么英文的缩写(oppo是什么意思oppo是什么英文的缩写)
 - 40.袋鼠简笔画袋鼠简笔画简单又好看(qq红包袋鼠怎么画简笔画)
 - 41.广东省教育局官网
 - 42.送给兄弟的歌(送给兄弟的歌应该唱什么)
 - 43.hd4000相当于什么显卡(笔记本hd4000相当于什么显卡)
 - 44.初中毕业想学音乐去哪个学校(没考上高中可以上音乐学校吗)
 - 45.985和211通俗易懂的解释
 - 46.本科二批是什么意思,本科一批是什么意思
 - 47.解放军第四军医大学(解放军第四军医大学录取分数线预测预测)
 - 48.黑龙江工程学院邮编_黑龙江工程学院邮政编码查询_附地址和介绍
 - 49.瞻仰是什么意思—瞻仰,是什么意思
 - 50.现在学什么技术***(现在学什么技术***写不限学历,简单方便)
 - 51.形容一个人城府很深的成语(形容一个人城府很深用什么成语)
 - 52.傲然挺立的意思是什么(傲然挺立是什么意思解释)
 - 53.色厉内荏是什么意思;色厉内荏是什么意思解释词语
 - 54.词语解释:避世的意思是什么
 - 55.busy是什么意思、bus是什么意思
 - 56.天津师范大学是双一流大学吗?有哪些学科入选?
 - 57.记一次游戏作文400字四年级上册13篇
 - 58.往年安徽阜阳师范大学专升本招生专业汇总!建议收藏
 - 59.租房协议书怎么写(租房协议书怎么写才有法律效力)
 - 60.拉萨师范高等专科学校(拉萨师范高等专科学校往年录取分数线预测预测)
 - 51.峨眉山市护理学校食堂条件怎么样
 - 52.峨眉山市航空职业学校一年学费多少
 - 53.峨眉山市航空职业学校怎么样
 - 54.瞧一瞧有哪些幼师专业的学校
 - 55.技校也有公办和民办吗?他们有什么区别?
 - 56.内江铁路机械学校(安德内江校区)高铁服务与管理专业
 - 57.峨眉山市职高学校哪所好
 - 58.峨眉山市铁路学校2024年招生简章
 - 59.峨眉山市技工学校毕业后分配工作吗
 - 60.宜宾市轨道交通学校2024年招生要求
 - 61.药物制剂专业发展方向
 - 62. 初中毕业可以报读五年制大专吗
 - 63.医学专业是不是所有的人都适合报读?
 - 64.护理学主要学习哪些内容?
 - 65.为什么女生适合做护士?
 - 66.工程造价专业适合男生报读吗?
 - 67.初中毕业学护理专业要学哪些课程?
 - 68.西安高中没读完可以读中专学校吗
 - 69.杭州哪有卫校
 - 70.空乘专业是不是吃青春饭?
 

