300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > JAVA的原子性和可见性的理解

JAVA的原子性和可见性的理解

时间:2022-04-20 11:37:34

相关推荐

JAVA的原子性和可见性的理解

JAVA的原子性和可见性的理解

这篇博客主要解决两个问题:

1. 原子性和可见性的区别

(1)原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。例如 a=1是原子性操作,但是a++和a +=1就不是原子性操作。

(2)可见性volatile修饰词,可以应对多线程同时访问修改同一变量,由于相互的不可见性所带来的不可预期的结果。

2.synchronized如何保证原子性

synchronized为一段操作或内存进行加锁,它具有互斥性。当线程要操作被synchronized修饰的内存或操作时,必须首先获得锁才能进行后续操作;但是在同一时刻只能有一个线程获得相同的一把锁(对象监视器),所以它只允许一个线程进行操作

更具体的可见这篇文章/wohaqiyi/article/details/67635010

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。