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介绍与使用相关推荐

  1. 【java】java boolean 源码分析

    1.概述 转载:jdk源码分析-------------boolean 这篇文章小编只是对boolean类型的几个方法进行一次知识梳理,大家有好的意见可以在留言区留下宝贵的意见,小编会做出相应的调整. ...

  2. AtomicBoolean 的使用与介绍

    AtomicBoolean AtomicBoolean是Java.util.concurrent.atomic包下的原子变量,能够保证在高并发的情况下只有一个线程能够访问这个属性值 这个是boolea ...

  3. 关于Synchornized,Lock,AtomicBoolean和volatile的区别介绍

    1.  volatile 变量可以被看作是一种 "程度较轻的 synchronized". 2.  Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的 ...

  4. java原子变量的作用_AtomicInteger原子类的作用介绍(代码示例)

    本篇文章给大家带来的内容是关于AtomicInteger原子类的作用介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. AtomicInteger 原子类的作用 多线程操 ...

  5. android AtomicBoolean类的使用

    今天,简洁讲讲如何使用  AtomicBoolean这个类. 类 在java.util.concurrent.atomic包下,有AtomicBoolean , AtomicInteger, At ...

  6. java 原子数据类型_java并发编程(十一)----(JUC原子类)基本类型介绍

    上一节我们说到了基本原子类的简单介绍,这一节我们先来看一下基本类型: AtomicInteger, AtomicLong, AtomicBoolean.AtomicInteger和AtomicLong ...

  7. Java中的13个原子操作类介绍

    一.引言 在 JDK1.5 中新增 java.util.concurrent(J.U.C) 包,它建立在 CAS 之上.CAS 是非阻塞算法的一种常见实现,相对于 synchronized 这种阻塞算 ...

  8. 【高并发】JUC中原子类介绍

    1.概述 转载: 添加链接描述 2.什么是原子操作? atomic 翻译成中文是原子的意思.在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的.在我们这里 atomic 是指一个 ...

  9. JAVA并发类包介绍

    JAVA并发Apl介绍合集 1. java.util.concurrent包 1.1 Executors线程池 1.2 Queues队列 1.3 Concurrent Collections 1.4 ...

最新文章

  1. 安卓okhttp连接mysql_android中okhttp实现断点上传示例
  2. MPU6050开发 -- 在 C52 单片机上测试
  3. 汇编语言重写除零中断
  4. vuex 源码分析_Vuex框架原理与源码分析
  5. C# textBox框实现输入像百度搜索出现下拉列表的格式
  6. 易天ETU-link 100G QSFP28光模块系列资料
  7. EmbossMaskFilter BlurMaskFilter 学习
  8. php导出数组到csv格式demo
  9. 【STM8S103K3】 I2C
  10. ldd -r xxx.so命令 undefined symbol即错误定位c++filt
  11. 【新书速递】深入浅出Electron
  12. 二维码图片生成(带文字显示)
  13. 我的申请已经通过审核,你想成为阿里云 MVP 吗?
  14. 信息检索(IR)笔记1: 倒排索引(Inverted Index)
  15. Scikit-Learn机器学习(knn算法)
  16. jsp中List,ArrayList的使用方法
  17. bios无cfg lock的情况如何disable cfg lock
  18. DLL简述,很有意思
  19. 在Isight软件里如何调用matlab子程序?
  20. ctfshow_pwn03

热门文章

  1. 三星Galaxy Note 20相机细节曝光:这个镜头略显鸡肋或被舍弃
  2. 会真香吗?周某表示不会签约直播打工,想在老家种地
  3. 全球最伟大社交软件!微信入选“现代百大设计最佳产品”:排名超Facebook
  4. 历史首次!中国联通、中国电信组队了,只为达成这个目的
  5. iPhone越来越难打动你?从iOS平台转投安卓阵营 这招你得学会!
  6. 苹果为提振销量疯狂试探!官网推出新福利:买买买更轻松
  7. 请查收~微信春节聊天彩蛋 微信群的卖萌小神器
  8. 拳王虚拟项目公社:解除网站禁止复制的插件,Simple Allow Copy V 0.8.2
  9. MiniGUI编程--列表框
  10. 原型 / 构造函数 / 实例/原型链