# 同步

> 原文： [https://docs.oracle.com/javase/tutorial/essential/concurrency/sync.html](https://docs.oracle.com/javase/tutorial/essential/concurrency/sync.html)

线程主要通过共享对字段的访问和参考字段引用的对象进行通信。这种通信形式非常有效，但可能出现两种错误：_ 线程干扰 _ 和 _ 内存一致性错误 _。防止这些错误所需的工具是 _ 同步 _。

但是，同步会引入  ，当两个或多个线程同时尝试访问同一资源时 _ 和 _ 会导致 Java 运行时执行一个或多个线程更慢，甚至暂停执行。 [饥饿和活锁](../../essential/concurrency/starvelive.html)是线程争用的形式。有关详细信息，请参阅[活力](../../essential/concurrency/liveness.html)部分。

本节包括以下主题：

*   [线程干扰](interfere.html)描述了当多个线程访问共享数据时如何引入错误。
*   [内存一致性错误](memconsist.html)描述了由共享内存的不一致视图导致的错误。
*   [同步方法](syncmeth.html)描述了一种简单的习惯用法，它可以有效地防止线程干扰和内存一致性错误。
*   [隐式锁定和同步](locksync.html)描述了更通用的同步习惯用法，并描述了同步基于隐式锁定的方式。
*   [Atomic Access](atomic.html) 谈到了其他线程无法干扰的操作的一般概念。