
正文
java原子代码,java中的原子操作是什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
什么是原子操作,java中的原子操作是什么
1、原子操作(atomic operation)是不需要synchronized,这是Java多线程编程的老生常谈了。
2、原子,故名思议,就是最小单位,不可分割。举个例子转账。减少你的金额 增加被转账人的金额。这两部就属于一个原子操作,也叫作事务。想一下,如果减了你的钱,没有给被转账人增加钱,你肯定不高兴。
3、原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。在Java中可以通过锁和循环CAS的方式来实现原子操作。
4、原子操作,就是不能被更高等级中断抢夺优先的操作。由于操作系统大部分时间处于开中断状态,所以,一个程序在执行的时候可能被优先级更高的线程中断。
相关问答
Q1: Java是怎么保证原子性,可见性
volatile修饰的变量可以保证可见性,假如,一个变量只有 1或者0两种情况。那么volatile修饰之后,就不需要对这个变量加同步操作了。强调一下。volatile不能保证原子性。
原子性:原子,即一个不可再被分割的颗粒。原子性指的是一个或多个操作要么 全部执行成功要么全部执行失败。可见性:一个线程对共享变量的修改,另一个线程能够立刻看到。
JVM 实现了 JMM 规范,负责保证 Java 程序的内存模型正确性。JVM 在运行 Java 程序时,会根据 JMM 规范来保证多线程并发访问共享内存时的内存可见性、有序性和原子性,从而保证 Java 程序的正确性。
Q2: 广义表(x,y,(o,(p,q)))删除原子的代码(尽量用Java语言)
remove()方法删除当前结点同时返回其内容,并使其后继结点成为当前结点,如果删除的是最后一个结点,则第一个结点变为当前结点。
栈是仅限制在表的一端进行插入和删除的运算的线性表,是一种操作受限的线性表。
{ /* 初始条件: S是广义表的书写形式串。
q.next = head; 的头指针head。
java原子代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中的原子操作是什么、java原子代码的信息别忘了在本站进行查找喔。







