/openjdk7/jdk/src/share/classes/java/util/concurrent/locks/ |
H A D | LockSupport.java | 47 * Semaphore} class). A call to {@code park} will return immediately 53 * <p>Methods {@code park} and {@code unpark} provide efficient 57 * between one thread invoking {@code park} and another thread trying 59 * permit. Additionally, {@code park} will return if the caller's 61 * {@code park} method may also return at any other time, for "no 63 * conditions upon return. In this sense {@code park} serves as an 68 * <p>The three forms of {@code park} each also support a 79 * useful for most concurrency control applications. The {@code park} 81 * <pre>while (!canProceed()) { ... LockSupport.park(this); }</pre> 83 * call to {@code park} entai 183 public static void park(Object blocker) { method in class:LockSupport 314 public static void park() { method in class:LockSupport [all...] |
H A D | AbstractQueuedLongSynchronizer.java | 178 * blocked (via park), so the current node must 350 * rather than to use timed park. A rough estimate suffices 575 * to signal it, so it can safely park. 590 * need a signal, but don't park yet. Caller will need to 606 * Convenience method to park and then check if interrupted 611 LockSupport.park(this); 1758 LockSupport.park(this); 1822 LockSupport.park(this);
|
H A D | AbstractQueuedSynchronizer.java | 401 * blocked (via park), so the current node must 573 * rather than to use timed park. A rough estimate suffices 798 * to signal it, so it can safely park. 813 * need a signal, but don't park yet. Caller will need to 829 * Convenience method to park and then check if interrupted 834 LockSupport.park(this); 1979 LockSupport.park(this); 2043 LockSupport.park(this);
|
/openjdk7/hotspot/src/share/vm/runtime/ |
H A D | park.hpp | 32 * Documentation for rationale. Basically, park acts like wait, unpark 39 * Because park-unpark allow spurious wakeups it is harmless if an 63 // For simplicity of interface with Java, all forms of park (indefinite, 65 void park(bool isAbsolute, jlong time); 89 // park, unpark, etc must tolerate stale references and spurious wakeups). 91 // Only the "associated" thread can block (park) on the ParkEvent, although 93 // return spuriously. In fact park-unpark a really just an optimization to 95 // A degenerate albeit "impolite" park-unpark implementation could simply return. 104 // platform-independent. PlatformEvent provides park(), unpark(), etc., and 109 // that base-class, adding park(), unpar [all...] |
H A D | objectMonitor.cpp | 172 static int Knob_SpinAfterFutile = 1 ; // Spin after returning from park() 198 // and then spin/park. 208 // re-park itself. 269 // park-unpark abstraction. See the comments in os_solaris.cpp regarding 270 // the semantics of park-unpark. Put another way, this monitor implementation 271 // depends only on atomic operations and park-unpark. The monitor subsystem 511 // The Spin failed -- Enqueue and park the thread ... 555 // arrange for one of the contending thread to use a timed park() operations 560 // The Responsible thread uses a timed park instead of a normal indefinite park [all...] |
H A D | mutex.cpp | 63 // queue -- called the cxq -- with CAS and then spin/park. 210 // park-unpark abstraction. See the comments in os_solaris.cpp regarding 211 // the semantics of park-unpark. Put another way, this monitor implementation 212 // depends only on atomic operations and park-unpark. The monitor subsystem 227 // enqueued or park()ed. When the contention was over the thread would 424 ev->park() ; 426 err = ev->park(timo) ; 452 // IWait and ILock may directly call park() without any concern for thread state. 558 // is a spurious return from a park() operation. Critically, if "w" _is stale, 887 // wrapped calls to park(), the [all...] |
H A D | synchronizer.cpp | 508 // a yield/park strategy, and 1 thread in the midst of inflation. 513 // and calling park(). When inflation was complete the thread that accomplished inflation 525 // so we periodically call Self->_ParkEvent->park(1). 528 Thread::current()->_ParkEvent->park(1) ; 534 TEVENT (Inflate: INFLATING - yield/park) ; 1225 // Currently, we spin/yield/park and poll the markword, waiting for inflation to finish.
|
H A D | thread.cpp | 4404 Thread::current()->_ParkEvent->park(1) ; 4442 // park(). Otherwise the _ParkEvent park() operation in muxAcquire() could 4445 // implemented in park(). Another alternative would be to provide 4456 // but with parking or spin-then-park instead of pure spinning. 4493 // Optional spin phase: spin-then-park strategy 4521 Self->park() ; 4543 // Optional spin phase: spin-then-park strategy 4581 ev->park() ;
|
/openjdk7/hotspot/src/share/vm/prims/ |
H A D | jvmtiRawMonitor.cpp | 110 // park-unpark and nothing else. 147 Self->_ParkEvent->park() ; 193 Self->_ParkEvent->park(); 195 ret = Self->_ParkEvent->park(millis);
|
/openjdk7/hotspot/src/os/bsd/vm/ |
H A D | os_bsd.hpp | 302 void park () ; 305 int park (jlong millis) ;
|
H A D | os_bsd.cpp | 3596 // Solaris uses poll(), bsd uses park(). 3642 slp->park(millis); 3668 slp->park(millis); 5520 // Refer to the comments in os_solaris.cpp park-unpark. 5543 // 2. Modify park-unpark to use per-thread (per ParkEvent) pipe-pairs instead 5545 // NDELAY. unpark() reduces to write(), park() reduces to read() and park(timo) 5605 // Conceptually TryPark() should be equivalent to park(0). 5615 void os::PlatformEvent::park() { // AKA "down()" function in class:os::PlatformEvent 5617 // may call park() 5650 int os::PlatformEvent::park(jlong millis) { function in class:os::PlatformEvent 5830 void Parker::park(bool isAbsolute, jlong time) { function in class:Parker [all...] |
/openjdk7/hotspot/src/os/linux/vm/ |
H A D | os_linux.hpp | 288 void park () ; 291 int park (jlong millis) ;
|
H A D | os_linux.cpp | 3517 // Solaris uses poll(), linux uses park(). 3563 slp->park(millis); 3589 slp->park(millis); 5259 // Refer to the comments in os_solaris.cpp park-unpark. 5282 // 2. Modify park-unpark to use per-thread (per ParkEvent) pipe-pairs instead 5284 // NDELAY. unpark() reduces to write(), park() reduces to read() and park(timo) 5344 // Conceptually TryPark() should be equivalent to park(0). 5354 void os::PlatformEvent::park() { // AKA "down()" function in class:os::PlatformEvent 5356 // may call park() 5389 int os::PlatformEvent::park(jlong millis) { function in class:os::PlatformEvent 5569 void Parker::park(bool isAbsolute, jlong time) { function in class:Parker [all...] |
/openjdk7/hotspot/src/os/windows/vm/ |
H A D | os_windows.hpp | 120 void park () ; 122 int park (jlong millis) ;
|
H A D | os_windows.cpp | 4643 // 1. Reconcile Doug's JSR166 j.u.c park-unpark with the objectmonitor implementation. 4649 // _Event transitions in park() 4662 int os::PlatformEvent::park (jlong Millis) { function in class:os::PlatformEvent 4668 // the initial park() operation. 4708 // see comment at end of os::PlatformEvent::park() below: 4716 void os::PlatformEvent::park () { function in class:os::PlatformEvent 4719 // may call park(). 4757 // that it will take two back-to-back park() calls for the owning 4759 // from the first park() call after an unpark() call which will help 4760 // shake out uses of park() an 4779 void Parker::park(bool isAbsolute, jlong time) { function in class:Parker [all...] |
/openjdk7/hotspot/src/os/solaris/vm/ |
H A D | os_solaris.hpp | 385 void park () ; 386 int park (jlong millis) ;
|
/openjdk7/jdk/src/share/classes/java/util/concurrent/ |
H A D | Exchanger.java | 485 * park. The caller is assumed to have checked interrupt status 505 LockSupport.park(node);
|
H A D | FutureTask.java | 425 LockSupport.park(this);
|
H A D | SynchronousQueue.java | 134 * Blocking is mainly accomplished using LockSupport park/unpark, 204 * rather than to use timed park. A rough estimate suffices. 233 volatile Thread waiter; // to control park/unpark 419 * to be at the head of the stack, calls to park are 456 s.waiter = w; // establish waiter so can park next iter 458 LockSupport.park(this); 540 volatile Thread waiter; // to control park/unpark 763 LockSupport.park(this);
|
H A D | Phaser.java | 1131 LockSupport.park(this);
|
H A D | LinkedTransferQueue.java | 487 * follows either CAS or return from park (if ever parked; 735 LockSupport.park(this);
|
H A D | ForkJoinPool.java | 231 * generated. We park/unpark workers after placing in an event 804 * park, so that park does not immediately return due to status 856 Thread.interrupted(); // clear before park 864 LockSupport.park(this);
|
/openjdk7/jdk/test/java/lang/Thread/ |
H A D | ThreadStateTest.java | 74 *********** park and parkUntil seems not working 218 System.out.println(" myThread is going to park."); 219 LockSupport.park(); 227 System.out.println(" myThread is going to timed park."); 294 // wait for MyThread to get to just before timed park.
|
/openjdk7/jdk/test/java/lang/management/ThreadMXBean/ |
H A D | ThreadStateTest.java | 98 * ignore this park case for now. 295 System.out.println(" myThread is going to park."); 296 LockSupport.park(); 298 System.out.println(" myThread is going to park."); 305 System.out.println(" myThread is going to timed park.");
|
/openjdk7/jdk/src/share/classes/sun/misc/ |
H A D | Unsafe.java | 979 * Unblock the given thread blocked on <tt>park</tt>, or, if it is 980 * not blocked, cause the subsequent call to <tt>park</tt> not to 1003 public native void park(boolean isAbsolute, long time); method in class:Unsafe
|