Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
线程间通信的实现,主要通过共享对字段的访问和引用字段所引用的对象。这种通信形式非常有效,但可能出现两种错误:thread interference (线程干扰) 和 memory consistency errors (内存一致性错误)。防止这些错误所需的工具是 synchronization (同步)。
但是,同步可能会引入 thread contention (线程争用),这会在两个或多个线程同时尝试访问同一资源时发生 并且 导致 Java 运行时执行一个或多个线程更慢,甚至暂停执行。Starvation and livelock (饥饿和活锁) 是线程争用的形式。有关详细信息,请参阅 Liveness 部分。
本节包括以下主题: