JDK-6312446 : (spec thread) Bring Thread.sleep spec in line with JLS 17.9
Type:Bug
Component:core-libs
Sub-Component:java.lang
Affected Version:6
Priority:P3
Status:Resolved
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2005-08-17
Updated:2010-04-02
Resolved:2005-09-04
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
The Thread.sleep javadoc does not reflect JLS section 17.9, omitting ",subject to the precision and accuracy of system timers and schedulers."
Comments
EVALUATION
API javadoc should agree with the JLS.
The synopsis of this bug is misleading, as it implies *all* of 17.9 relevant to sleep should go into the javadoc, and this is absolutely true: but this CR only added the clause mentioned in the description. See 6317167 for the CR that will complete the JLS/javadoc synchronization in regard to sleep.
17-08-2005
SUGGESTED FIX
*** src/share/classes/java/lang/Thread.java- Wed Aug 17 16:01:27 2005
--- Thread.java Wed Aug 17 15:59:10 2005
*** 238,272 ****
--- 238,275 ----
public static native Thread currentThread();
/**
* Causes the currently executing thread object to temporarily pause
* and allow other threads to execute.
*/
public static native void yield();
/**
* Causes the currently executing thread to sleep (temporarily cease
! * execution) for the specified number of milliseconds. The thread
! * execution) for the specified number of milliseconds, subject to
+ * the precision and accuracy of system timers and schedulers. The thread
* does not lose ownership of any monitors.
*
* @param millis the length of time to sleep in milliseconds.
* @exception InterruptedException if another thread has interrupted
* the current thread. The <i>interrupted status</i> of the
* current thread is cleared when this exception is thrown.
* @see java.lang.Object#notify()
*/
public static native void sleep(long millis) throws InterruptedException;
/**
* Causes the currently executing thread to sleep (cease execution)
* for the specified number of milliseconds plus the specified number
! * of nanoseconds. The thread does not lose ownership of any monitors.
! * of nanoseconds, subject to the precision and accuracy of system
+ * timers and schedulers. The thread does not lose ownership of any
+ * monitors.
*