实际上,我对网站或博客关于同步和线程安全的几个解释感到有些困惑。我已经对不同类的Core Java Api或Java Framework(集合)进行了一些研究。而且我经常注意到某些类是同步和线程安全的,这意味着,一次只有一个线程可以访问代码。
但我需要一些精确度:
祝你好运
答案 0 :(得分:0)
一个类是同步的,所以它的线程安全吗?
类未同步。而是同步方法或代码块。
同步(使用synchronized
)是使代码线程安全的一种方法。还有其他方法。
或者同步和线程安全有两个不同的含义?
是。它们有不同的含义。
我经常注意到某些类是同步和线程安全的,这意味着,每次只有一个线程可以访问代码。
实际上,如果你"注意到"那,你没注意!
使用synchronized
方法,只有一个线程可以在持有给定锁的情况下访问代码;即你互相排斥。如果两个线程使用不同的锁,那么不会获得互斥。
另一点需要注意的是,仅使用synchronized
并不能保证线程安全。您需要以正确的方式使用它: