343 |
* |
* |
344 |
* <p>This thread still holds a lock on the object, so it is |
* <p>This thread still holds a lock on the object, so it is |
345 |
* typical to release the lock by exiting the synchronized |
* typical to release the lock by exiting the synchronized |
346 |
* code, calling wait(), or calling {@link Thread#sleep()}, so |
* code, calling wait(), or calling {@link Thread#sleep(long)}, so |
347 |
* that the newly awakened thread can actually resume. The |
* that the newly awakened thread can actually resume. The |
348 |
* awakened thread will most likely be awakened with an |
* awakened thread will most likely be awakened with an |
349 |
* {@link InterruptedException}, but that is not guaranteed. |
* {@link InterruptedException}, but that is not guaranteed. |
372 |
* |
* |
373 |
* <p>This thread still holds a lock on the object, so it is |
* <p>This thread still holds a lock on the object, so it is |
374 |
* typical to release the lock by exiting the synchronized |
* typical to release the lock by exiting the synchronized |
375 |
* code, calling wait(), or calling {@link Thread#sleep()}, so |
* code, calling wait(), or calling {@link Thread#sleep(long)}, so |
376 |
* that one of the newly awakened threads can actually resume. |
* that one of the newly awakened threads can actually resume. |
377 |
* The resuming thread will most likely be awakened with an |
* The resuming thread will most likely be awakened with an |
378 |
* {@link InterruptedException}, but that is not guaranteed. |
* {@link InterruptedException}, but that is not guaranteed. |