| 68 |
time-out based operations. Nearly all other classes in the package |
time-out based operations. Nearly all other classes in the package |
| 69 |
contain operations based on time-outs in addition to indefinite waits. |
contain operations based on time-outs in addition to indefinite waits. |
| 70 |
|
|
| 71 |
|
<p>In all cases that time-outs are used, the time-out specifies the |
| 72 |
|
minimum time that the method should wait before indicating that it |
| 73 |
|
timed-out. The virtual machine should make a "best effort" |
| 74 |
|
to detect time-outs as soon as possible after they occur. Regardless |
| 75 |
|
of the efforts of the virtual machine, the normal scheduling |
| 76 |
|
mechanisms, and the need to re-acquire locks in many cases, can lead |
| 77 |
|
to an indefinite amount of time elapsing between a time-out being |
| 78 |
|
detected and a thread actually executing again after that time-out. |
| 79 |
|
|
| 80 |
<h2>Synchronizers</h2> |
<h2>Synchronizers</h2> |
| 81 |
|
|
| 82 |
Five classes aid common special-purpose synchronization idioms. |
Five classes aid common special-purpose synchronization idioms. |