Lock and Condition vs. the synchronized Keyword
In some applications, using Lock
and Condition
objects may be preferable to using the synchronized
keyword. Lock
s allow you to interrupt waiting threads or to specify a timeout for waiting to acquire a lock, which is not possible using the synchronized
keyword. Also, a Lock
is not constrained to be acquired and released in the same block of code, which is the case with the synchronized
keyword. Condition
objects allow you to specify multiple conditions on which threads may wait. Thus, it’s possible to indicate to waiting threads that a specific condition object is now true by calling signal
or signallAll
on that Condition
object. With synchronized
, there’s no way to explicitly state the condition ...
Get Java™ How To Program (Early Objects), Tenth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.