[英]Confused about synchronization and thread safe ? java
实际上,对于网站或博客中有关同步和线程安全的几种解释,我有些困惑。 我对Core Java Api或Java Framework(集合)的不同类进行了一些研究。 而且我经常注意到某些类是同步的并且是线程安全的,这意味着一次只能有一个线程可以访问代码。
但是我需要一些精度:
最好的祝福
一个类正在同步,因此其线程安全吗?
类未同步。 而是方法或代码块是同步的。
同步(使用synchronized
)是使代码线程安全的一种方法。 还有其他方法。
还是同步和线程安全有两个不同的含义?
是。 它们具有不同的含义。
而且我经常注意到某些类是同步的并且是线程安全的,这意味着一次只能有一个线程可以访问代码。
实际上,如果您“注意到”该信息,则说明您没有注意!
使用synchronized
方法时 ,只有一个线程可以在持有给定锁的同时访问代码。 也就是说,您会互相排斥。 如果两个线程使用不同的锁,那么您将不会相互排斥。
要注意的另一件事是仅使用synchronized
并不能保证线程安全。 您需要以正确的方式使用它:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.