原子类 与 volatile

简介: volatile 如果你将一个域声明为volatile的,那么只要对这个域产生了写操作,它就会被立即写入到内存中。 若不用volatile关键字,这个域就只能用同步来访问,因为同步也会向主存刷新。 Atomic AtomicInteger、Long、etc int java.util.concurrent.atomic.AtomicInteger.incrementAnd

volatile

如果你将一个域声明为volatile的,那么只要对这个域产生了写操作,它就会被立即写入到内存中。
若不用volatile关键字,这个域就只能用同步来访问,因为同步也会向主存刷新。

Atomic

AtomicInteger、Long、etc

int java.util.concurrent.atomic.AtomicInteger.incrementAndGet()
原子性的给当前值加上1
Atomically increments by one the current value.

int java.util.concurrent.atomic.AtomicInteger.addAndGet(int delta)

原子性地给当前值增加指定的值,然后返回新值。

Atomically adds the given value to the current value.


java.util.concurrent.BlockingQueue<E>
阻塞队列。支持等待以下情形下队列变为非空————当检索一个元素,或当存储元素需要等待可用空间时。
A java.util.Queue that additionally supports operations that wait for the queue to become non-empty when retrieving an element, and wait for space to become available in the queue when storing an element. 

boolean java.util.concurrent.LinkedBlockingQueue.offer(E e)
在当前队列的尾部插入指定的元素。
Inserts the specified element at the tail of this queue if it is possible to do so immediately without exceeding the queue's capacity, 



java.util.concurrent.SynchronousQueue<E>
一个阻塞队列,它的一个插入操作必须等待来自其他线程的一个对应的移除操作,反之亦然。
A blocking queue in which each insert operation must wait for a corresponding remove operation by another thread, and vice versa. A synchronous queue does not have any internal capacity, not even a capacity of one.


java.util.concurrent. SynchronousQueue<E>
一个阻塞队列,它的一个插入操作必须等待来自其他线程的一个对应的移除操作,反之亦然。
A blocking queue in which each insert operation must wait for a corresponding remove operation by another thread, and vice versa. A synchronous queue does not have any internal capacity, not even a capacity of one.
目录
相关文章
|
6月前
|
前端开发
原子类的说明与使用
原子类的说明与使用 原子类是一种用于指定元素样式的基础类,它们只有一个属性:display: inline-block;,并且不包含任何内边距(padding)和外边距(margin)。原子类非常适合于构建重复使用的组件和样式。使用原子类可以提高样式的可复用性和可维护性,因为它们是单一的、独立的类,可以方便地组合和重复使用。
|
缓存 算法 安全
从内存可见性看volatile、原子操作和CAS算法
从内存可见性看volatile、原子操作和CAS算法
50 0
|
缓存 Java 编译器
|
Java
浅谈volatile
浅谈volatile
68 0
|
缓存 Java 编译器
并发编程-06线程安全性之可见性 (synchronized + volatile)
并发编程-06线程安全性之可见性 (synchronized + volatile)
87 0
|
SQL
volatile的正确使用(七)
volatile的正确使用(七)
106 0
volatile的正确使用(七)
|
Java 编译器
【多线程:volatile】可见性
【多线程:volatile】可见性
140 0
|
存储 缓存 人工智能
volatile(三)
volatile 这个关键字大家都不陌生,这个关键字一般通常用于并发编程中,是 Java 虚拟机提供的轻量化同步机制,你可能知道 volatile 是干啥的,但是你未必能够清晰明了的知道 volatile 的实现机制,以及 volatile 解决了什么问题,这篇文章我就来带大家解析一波。
volatile(三)
|
SQL 存储 算法
volatile详解
在单线程环境中,我们几乎用不到这个关键词,但是多线程环境中,这个关键词随处可见。而且也是面试的常客。总的来说,volatile有以下三个特性: 保证可见性; 不保证原子性; 禁止指令重排。 下面就来详细的说说这三个特性。
volatile详解