2016 - 2024

感恩一路有你

synchronized详解 synchronized怎么读?

浏览量:1414 时间:2021-03-12 02:32:42 作者:admin

synchronized怎么读?

volatile与synchronized的区别与联系:

在Java中,为了保证多线程读写数据时数据的一致性,可以采用两种方式:使用volatile关键字:在一句话中泛化volatile,当变量值发生变化时,可以让其他线程尽快知道。例如,使用synchronized关键字表示或使用lock对象。Volatile是一个变量修饰符,synchronized是一个方法或块修饰符。所以我们使用这两个关键字来指定三种访问变量的简单方法。因此,volatile只能在线程内存和主存之间同步一个变量的值,而synchronized在线程内存和主存之间同步所有变量的值,并通过锁定和释放侦听器来实现。显然,synchronized将比volatile消耗更多的性能。

volatile的本质是告诉JVM寄存器中当前变量的值是不确定的,需要从主存中读取。Synchronized是锁定当前变量。只有当前线程可以访问变量,其他线程被阻止。

Volatile只能在可变级别使用,而synchronized可以在可变级别和方法级别使用。Volatile只能实现变量的修改可见性,但它不具有原子属性。Volatile不会导致线程阻塞,而synchronized可能会导致线程阻塞。用volatile标记的变量不由编译器优化,而用synchronized标记的变量可以由编译器优化。

synchronize怎么读?

例如,您可以删除它们或请求同步它们。

synchronized详解 发音 synchronized使用方式

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。