src/share/classes/java/lang/Thread.java

Print this page




 192      */
 193     private long stackSize;
 194 
 195     /*
 196      * JVM-private state that persists after native thread termination.
 197      */
 198     private long nativeParkEventPointer;
 199 
 200     /*
 201      * Thread ID
 202      */
 203     private long tid;
 204 
 205     /* For generating thread ID */
 206     private static long threadSeqNumber;
 207 
 208     /* Java thread status for tools,
 209      * initialized to indicate thread 'not yet started'
 210      */
 211 
 212     private int threadStatus = 0;
 213 
 214 
 215     private static synchronized long nextThreadID() {
 216         return ++threadSeqNumber;
 217     }
 218 
 219     /**
 220      * The argument supplied to the current call to
 221      * java.util.concurrent.locks.LockSupport.park.
 222      * Set by (private) java.util.concurrent.locks.LockSupport.setBlocker
 223      * Accessed using java.util.concurrent.locks.LockSupport.getBlocker
 224      */
 225     volatile Object parkBlocker;
 226 
 227     /* The object in which this thread is blocked in an interruptible I/O
 228      * operation, if any.  The blocker's interrupt method should be invoked
 229      * after setting this thread's interrupt status.
 230      */
 231     private volatile Interruptible blocker;
 232     private final Object blockerLock = new Object();




 192      */
 193     private long stackSize;
 194 
 195     /*
 196      * JVM-private state that persists after native thread termination.
 197      */
 198     private long nativeParkEventPointer;
 199 
 200     /*
 201      * Thread ID
 202      */
 203     private long tid;
 204 
 205     /* For generating thread ID */
 206     private static long threadSeqNumber;
 207 
 208     /* Java thread status for tools,
 209      * initialized to indicate thread 'not yet started'
 210      */
 211 
 212     private volatile int threadStatus = 0;
 213 
 214 
 215     private static synchronized long nextThreadID() {
 216         return ++threadSeqNumber;
 217     }
 218 
 219     /**
 220      * The argument supplied to the current call to
 221      * java.util.concurrent.locks.LockSupport.park.
 222      * Set by (private) java.util.concurrent.locks.LockSupport.setBlocker
 223      * Accessed using java.util.concurrent.locks.LockSupport.getBlocker
 224      */
 225     volatile Object parkBlocker;
 226 
 227     /* The object in which this thread is blocked in an interruptible I/O
 228      * operation, if any.  The blocker's interrupt method should be invoked
 229      * after setting this thread's interrupt status.
 230      */
 231     private volatile Interruptible blocker;
 232     private final Object blockerLock = new Object();