目录:
定义-线程同步是什么意思?
线程同步是共享关键资源的两个或多个线程的并发执行。 线程应该同步以避免严重的资源使用冲突。 否则,当并行运行的线程尝试同时修改公共变量时,可能会发生冲突。
Techopedia解释了线程同步
为了阐明线程同步,请考虑以下示例:三个线程-A,B和C-同时执行,并且需要访问关键资源Z。为避免在访问Z时发生冲突,必须同步线程A,B和C。 。 因此,当A访问Z且B也尝试访问Z时,必须采取安全措施避免B对Z的访问,直到A完成其操作并退出Z。
在Java中,使用两种同步策略来防止线程干扰和内存一致性错误:
- 同步方法:在其声明中包括synced关键字。 当线程调用同步方法时,同步方法将自动获取该方法对象的内在锁,并在该方法返回时释放该内在锁,即使该返回是由未捕获的异常引起的。
- 同步语句:声明要同步的代码块。 与同步方法不同,同步语句应指定提供内部锁的对象。 这些语句对于提高细粒度同步的并发性很有用,因为它们可以避免不必要的阻塞。
