28-实现一个自定义_Lock_类
8.9 实现一个自定义_Lock_类
锁是Java并发API提供的基本同步机制之一。它们允许程序员保护一段关键代码,以便一次只有一个线程可以执行该代码块。它提供了以下两个操作。
lock()
:当要访问临界区时,可以调用此操作。如果有另一个线程正在运行这个临界区,则其他线程将被阻塞,直到它们由锁唤醒才可以访问临界区。unlock()
:在临界区末尾调用此操作以允许其他线程访问它。
在Java并发API中,锁是在 Lock
接口中声明并在某些类中实现的,例如 Reentrant Lock
类。
本节将介绍如何实现自己的 Lock
对象,前提是先设计一个实现了 Lock
接口的类,该接口可以用来保护临界区。