/openjdk7/jdk/src/share/classes/java/util/concurrent/locks/ |
H A D | LockSupport.java | 49 * it <em>may</em> block. A call to {@code unpark} makes the permit 53 * <p>Methods {@code park} and {@code unpark} provide efficient 58 * to {@code unpark} it will preserve liveness, due to the 65 * spinning, but must be paired with an {@code unpark} to be 115 * LockSupport.unpark(waiters.peek()); 147 * @param thread the thread to unpark, or {@code null}, in which case 150 public static void unpark(Thread thread) { method in class:LockSupport 152 unsafe.unpark(thread); 165 * <li>Some other thread invokes {@link #unpark unpark} wit [all...] |
H A D | AbstractQueuedLongSynchronizer.java | 179 * unpark its successor when it releases or 426 * Thread to unpark is held in successor, which is normally 439 LockSupport.unpark(s.thread); 1462 LockSupport.unpark(node.thread);
|
H A D | AbstractQueuedSynchronizer.java | 402 * unpark its successor when it releases or 649 * Thread to unpark is held in successor, which is normally 662 LockSupport.unpark(s.thread); 1685 LockSupport.unpark(node.thread);
|
/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 40 * unpark call unparks a new thread using the old Parker reference. 66 void unpark(); 89 // park, unpark, etc must tolerate stale references and spurious wakeups). 92 // any other thread can unpark a reachable parkevent. Park() is allowed to 93 // return spuriously. In fact park-unpark a really just an optimization to 95 // A degenerate albeit "impolite" park-unpark implementation could simply return. 100 // Currently, we unpark events associated with threads, but ideally we'd just 101 // unpark thread [all...] |
H A D | task.cpp | 133 thread->unpark();
|
H A D | mutex.cpp | 103 // type-stable, meaning we can safely unpark() a possibly stale 192 // Subsequent unlock() operations will eventually unpark the notifyee. 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 553 // For good performance, we also depend on the fact that redundant unpark() 557 // In that case the following unpark() is harmless and the worst that'll happen 562 if ((UNS(w) & _LBIT) == 0) w->unpark() ; 609 // Try to defer the unpark() operation - Delegate the responsibility 610 // for unpark()in [all...] |
H A D | objectMonitor.cpp | 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 280 // unpark the notifyee. Unparking a notifee in notify() is inefficient - 634 // We can find that we were unpark()ed and redesignated _succ while 924 // exiting thread will notice and unpark the stranded thread, or, (b) 1066 // we could simply unpark() the lead thread and return 1314 // 3. unpark(wakee) 1326 OrderAccess::fence() ; // ST _owner vs LD in unpark() 1329 TEVENT (unpark befor [all...] |
/openjdk7/hotspot/src/share/vm/prims/ |
H A D | jvmtiRawMonitor.cpp | 110 // park-unpark and nothing else. 170 ev->unpark() ; 239 // B. Remove the thread from the WaitSet and unpark() it. 250 if (ev != NULL) { ev->unpark(); ev = NULL; } 258 if (ev != NULL) ev->unpark();
|
/openjdk7/jdk/src/share/classes/java/util/concurrent/ |
H A D | Exchanger.java | 351 LockSupport.unpark(you.waiter); 570 LockSupport.unpark(you.waiter);
|
H A D | Phaser.java | 972 LockSupport.unpark(t); 996 LockSupport.unpark(t); 1065 node.thread = null; // avoid need for unpark()
|
H A D | ForkJoinPool.java | 231 * generated. We park/unpark workers after placing in an event 246 * ForkJoinWorkerThread to reduce unnecessary calls to unpark. 684 UNSAFE.unpark(w); 718 UNSAFE.unpark(w); 997 UNSAFE.unpark(w); 1347 UNSAFE.unpark(w);
|
H A D | FutureTask.java | 368 LockSupport.unpark(t);
|
H A D | LinkedTransferQueue.java | 529 LockSupport.unpark(waiter); 629 LockSupport.unpark(p.waiter); 726 s.waiter = w; // request unpark then recheck
|
H A D | SynchronousQueue.java | 134 * Blocking is mainly accomplished using LockSupport park/unpark, 233 volatile Thread waiter; // to control park/unpark 261 if (w != null) { // waiters need at most one unpark 263 LockSupport.unpark(w); 540 volatile Thread waiter; // to control park/unpark 722 LockSupport.unpark(m.waiter);
|
/openjdk7/hotspot/src/os/bsd/vm/ |
H A D | os_bsd.hpp | 303 void unpark () ;
|
H A D | os_bsd.cpp | 4094 // to interrupted() to be visible to other threads before we execute unpark(). 4097 if (slp != NULL) slp->unpark() ; 4102 ((JavaThread*)thread)->parker()->unpark(); 4105 if (ev != NULL) ev->unpark() ; 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) 5714 void os::PlatformEvent::unpark() { function in class:os::PlatformEvent 5721 // unpark() calls. 5724 // Note: Forcing a transition from "-1" to "1" on an unpark() mean 5927 void Parker::unpark() { function in class:Parker [all...] |
/openjdk7/hotspot/src/os/linux/vm/ |
H A D | os_linux.hpp | 289 void unpark () ;
|
H A D | os_linux.cpp | 3940 // to interrupted() to be visible to other threads before we execute unpark(). 3943 if (slp != NULL) slp->unpark() ; 3948 ((JavaThread*)thread)->parker()->unpark(); 3951 if (ev != NULL) ev->unpark() ; 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) 5453 void os::PlatformEvent::unpark() { function in class:os::PlatformEvent 5460 // unpark() calls. 5463 // Note: Forcing a transition from "-1" to "1" on an unpark() mean 5666 void Parker::unpark() { function in class:Parker [all...] |
/openjdk7/hotspot/src/os/windows/vm/ |
H A D | os_windows.hpp | 121 void unpark () ;
|
H A D | os_windows.cpp | 3507 // For JSR166: unpark after setting status 3509 ((JavaThread*)thread)->parker()->unpark(); 3512 if (ev != NULL) ev->unpark() ; 4618 // In addition, an unpark() operation might fetch the handle field, but the 4643 // 1. Reconcile Doug's JSR166 j.u.c park-unpark with the objectmonitor implementation. 4710 // If we encounter a nearly simultanous timeout expiry and unpark() 4711 // we return OS_OK indicating we awoke via unpark(). 4738 // multiple unpark() operations drove _Event up to 1. 4744 void os::PlatformEvent::unpark() { function in class:os::PlatformEvent 4753 // unpark() call 4824 void Parker::unpark() { function in class:Parker [all...] |
/openjdk7/jdk/test/java/lang/Thread/ |
H A D | ThreadStateTest.java | 330 LockSupport.unpark(this);
|
/openjdk7/jdk/test/java/lang/management/ThreadMXBean/ |
H A D | ThreadStateTest.java | 412 LockSupport.unpark(this);
|
/openjdk7/jdk/src/share/classes/sun/misc/ |
H A D | Unsafe.java | 987 * @param thread the thread to unpark. 990 public native void unpark(Object thread); method in class:Unsafe 994 * <tt>unpark</tt> occurs, or a balancing <tt>unpark</tt> has 1000 * because <tt>unpark</tt> is, so it would be strange to place it
|
/openjdk7/hotspot/src/os/solaris/vm/ |
H A D | os_solaris.hpp | 388 void unpark () ;
|
H A D | os_solaris.cpp | 4391 // the sleeper by SIGINTR, otherwise the unpark() will wake the sleeper. 4393 if (slp != NULL) slp->unpark() ; 4396 // For JSR166: unpark after setting status but before thr_kill -dl 4398 ((JavaThread*)thread)->parker()->unpark(); 4403 if (ev != NULL) ev->unpark() ; 6180 // ObjectMonitor park-unpark infrastructure ... 6203 // then we know that a concurrent unpark() operation is in-progress. 6211 // 1. Reconcile Doug's JSR166 j.u.c park-unpark with the 6215 // 3. In park() and unpark() add: 6378 void os::PlatformEvent::unpark() { function in class:os::PlatformEvent 6588 void Parker::unpark() { function in class:Parker [all...] |