AtomicBoolean介绍与使用
AtomicBoolean是java.util.concurrent.atomic包下的原子变量,这个包里面提供了一组原子类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个另一个线程进入,这只是一种逻辑上的理解。实际上是借助硬件的相关指令来实现的,不会阻塞线程(或者说只是在硬件级别上阻塞了)。
例如AtomicBoolean,在这个Boolean值的变化的时候不允许在之间插入,保持操作的原子性。方法和举例:compareAndSet(boolean expect, boolean update)。这个方法主要两个作用
1.比较AtomicBoolean和expect的值,如果一致,执行方法内的语句。其实就是一个if语句
2.把AtomicBoolean的值设成update 比较最要的是这两件事是一气呵成的,这连个动作之间不会被打断,任何内部或者外部的语句都不可能在两个动作之间运行
为多线程的控制提供了解决的方案。
package zmx.atomic.test; import java.util.concurrent.TimeUnit; public class B
AtomicBoolean介绍与使用相关推荐
- 【java】java boolean 源码分析
1.概述 转载:jdk源码分析-------------boolean 这篇文章小编只是对boolean类型的几个方法进行一次知识梳理,大家有好的意见可以在留言区留下宝贵的意见,小编会做出相应的调整. ...
- AtomicBoolean 的使用与介绍
AtomicBoolean AtomicBoolean是Java.util.concurrent.atomic包下的原子变量,能够保证在高并发的情况下只有一个线程能够访问这个属性值 这个是boolea ...
- 关于Synchornized,Lock,AtomicBoolean和volatile的区别介绍
1. volatile 变量可以被看作是一种 "程度较轻的 synchronized". 2. Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的 ...
- java原子变量的作用_AtomicInteger原子类的作用介绍(代码示例)
本篇文章给大家带来的内容是关于AtomicInteger原子类的作用介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. AtomicInteger 原子类的作用 多线程操 ...
- android AtomicBoolean类的使用
今天,简洁讲讲如何使用 AtomicBoolean这个类. 类 在java.util.concurrent.atomic包下,有AtomicBoolean , AtomicInteger, At ...
- java 原子数据类型_java并发编程(十一)----(JUC原子类)基本类型介绍
上一节我们说到了基本原子类的简单介绍,这一节我们先来看一下基本类型: AtomicInteger, AtomicLong, AtomicBoolean.AtomicInteger和AtomicLong ...
- Java中的13个原子操作类介绍
一.引言 在 JDK1.5 中新增 java.util.concurrent(J.U.C) 包,它建立在 CAS 之上.CAS 是非阻塞算法的一种常见实现,相对于 synchronized 这种阻塞算 ...
- 【高并发】JUC中原子类介绍
1.概述 转载: 添加链接描述 2.什么是原子操作? atomic 翻译成中文是原子的意思.在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的.在我们这里 atomic 是指一个 ...
- JAVA并发类包介绍
JAVA并发Apl介绍合集 1. java.util.concurrent包 1.1 Executors线程池 1.2 Queues队列 1.3 Concurrent Collections 1.4 ...
最新文章
- 安卓okhttp连接mysql_android中okhttp实现断点上传示例
- MPU6050开发 -- 在 C52 单片机上测试
- 汇编语言重写除零中断
- vuex 源码分析_Vuex框架原理与源码分析
- C# textBox框实现输入像百度搜索出现下拉列表的格式
- 易天ETU-link 100G QSFP28光模块系列资料
- EmbossMaskFilter BlurMaskFilter 学习
- php导出数组到csv格式demo
- 【STM8S103K3】 I2C
- ldd -r xxx.so命令 undefined symbol即错误定位c++filt
- 【新书速递】深入浅出Electron
- 二维码图片生成(带文字显示)
- 我的申请已经通过审核,你想成为阿里云 MVP 吗?
- 信息检索(IR)笔记1: 倒排索引(Inverted Index)
- Scikit-Learn机器学习(knn算法)
- jsp中List,ArrayList的使用方法
- bios无cfg lock的情况如何disable cfg lock
- DLL简述,很有意思
- 在Isight软件里如何调用matlab子程序?
- ctfshow_pwn03
热门文章
- 三星Galaxy Note 20相机细节曝光:这个镜头略显鸡肋或被舍弃
- 会真香吗?周某表示不会签约直播打工,想在老家种地
- 全球最伟大社交软件!微信入选“现代百大设计最佳产品”:排名超Facebook
- 历史首次!中国联通、中国电信组队了,只为达成这个目的
- iPhone越来越难打动你?从iOS平台转投安卓阵营 这招你得学会!
- 苹果为提振销量疯狂试探!官网推出新福利:买买买更轻松
- 请查收~微信春节聊天彩蛋 微信群的卖萌小神器
- 拳王虚拟项目公社:解除网站禁止复制的插件,Simple Allow Copy V 0.8.2
- MiniGUI编程--列表框
- 原型 / 构造函数 / 实例/原型链