首页 > 编程知识 正文

java多线程(java api是什么)

时间:2023-05-04 07:57:21 阅读:95420 作者:3390

原子操作(atomic operation )是指“不能中断的一个或一系列的操作”。 处理器基于高速缓存或总线锁定实现多处理器之间的原子操作。 在Java中,可以通过锁定CAS使其循环来实现原子操作。 CAS操作——比较集,或者比较交换,现在大多数CPU指令都支持CAS的原子操作。

原子操作是指不受其他操作影响的操作任务单元。 原子操作是在多线程环境中避免数据不匹配的必要手段。 因为int不是原子操作,所以如果一个线程读取该值并将它加1,另一个线程可能会读取上一个值,从而导致错误。

为了解决这个问题,必须保证增加操作是原子性的。 在JDK1.5之前,可以使用同步技术进行这个。 在JDK1.5中,java.util.concurrent.atomic包含int和long类型的原子包装类,自动保证操作为原子,不需要使用同步。

java.util.concurrent包含一组原子。 基本特性是,在多线程环境中,多个线程同时执行这些类的实例中包含的方法时具有排他性。 也就是说,当一个线程访问该方法并执行其中的指令时,不会被其他线程中断,而另一个线程则像旋转锁定一样,JVM从队列中选择并访问另一个线程直到该方法执行完成

原子类:原子布尔、原子集成器、原子长、原子参考

原子排列:原子阵列、原子阵列、原子阵列

原子属性更新器: AtomicLongFieldUpdater,AtomicIntegerFieldUpdater,AtomicReferenceFieldUpdater

解决ABA问题的原子类: Atomicmarkablereference (反映是否通过引入Boolean改变了中间),通过引入AtomicStampedReference ) int累计反映中间是否发生了变化

欢迎在评论区发表评论。 编辑马上回答疑问

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。