| ||||
|
Code - Class EDU.oswego.cs.dl.util.concurrent.NullSync1 /* 2 File: NullSync.java 3 4 Originally written by Doug Lea and released into the public domain. 5 This may be used for any purposes whatsoever without acknowledgment. 6 Thanks for the assistance and support of Sun Microsystems Labs, 7 and everyone contributing, testing, and using this code. 8 9 History: 10 Date Who What 11 1Aug1998 dl Create public version 12 */ 13 14 package EDU.oswego.cs.dl.util.concurrent; 15 16 /** 17 * A No-Op implementation of Sync. Acquire never blocks, 18 * Attempt always succeeds, Release has no effect. 19 * However, acquire and release do detect interruption 20 * and throw InterruptedException. Also, the methods 21 * are synchronized, so preserve memory barrier properties 22 * of Syncs. 23 * <p> 24 * NullSyncs can be useful in optimizing classes when 25 * it is found that locking is not strictly necesssary. 26 * 27 * <p>[<a HREF="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html"> Introduction to this package. </a>] 28 **/ 29 30 31 public class NullSync implements Sync { 32 33 public synchronized void acquire() throws InterruptedException { 34 if (Thread.interrupted()) throw new InterruptedException(); 35 } 36 37 public synchronized boolean attempt(long msecs) throws InterruptedException { 38 if (Thread.interrupted()) throw new InterruptedException(); 39 return true; 40 } 41 42 public synchronized void release() {} 43 44 45 } 46 47 48 |
|||
Java API By Example, From Geeks To Geeks. |
Conditions of Use |
About Us
© 2002 - 2005, KickJava.com, or its affiliates
|