org.wegra.thread
Class SpinLock
java.lang.Object
org.wegra.thread.SpinLock
- public final class SpinLock
- extends java.lang.Object
°£´ÜÇÏ°Ô ±¸ÇöµÈ ¹ü¿ë ½ºÇɶô Ŭ·¡½ºÀÌ´Ù. ÀÌ Å¬·¡½º´Â ¾î¶² Á¶°ÇÀÌ ÂüÀÌ µÉ ¶§±î
Áö ±â´Ù¸®±â À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº Äڵ忡 »ç¿ëÇÒ ¼ö ÀÖ
´Ù.
boolean someCondition = false; // ´Ù¸¥ ¾²·¹µå¿¡ ÀÇÇØ set µÈ´Ù.
SpinLock lock = new SpinLock();
lock.acquire( new Condition()
{
public boolean isSatisfied()
{
return someCondition == false;
}
},
1000 // ÃÖ´ë 1Ãʰ£ ±â´Ù¸°´Ù.
);
//...
lock.release();
À§ÀÇ ÄÚµå´Â ´ë° ´ÙÀ½°ú ºñ½ÁÇÑ È¿°ú¸¦ °¡Áø´Ù.
Object lock;
while( someCondition == false )
lock.wait(1000);
//...
lock.notify();
SpinLockÀ» »ç¿ëÇÒ ¶§´Â ŸÀӾƿôÀÌ Á¤È®ÇÏÁö¸¸
wait()¸¦ »ç¿ëÇÒ ¶§´Â ÀÌ °ªÀÌ Á¤È®ÇÏÁö ¾Ê´Ù.
[ÁÖÀÇ] SpinLock Àº ÇöÀç Lock Ãß»ó Ŭ·¡½º¸¦ »ó¼Ó¹ÞÁö ¾Ê°íÀÖ´Ù.
Creation date: (2001-07-25 ¿ÀÀü 2:54:42)
- Version:
- 1.0
- Author:
- wegra(Lee, Boy-Youn)
Constructor Summary |
SpinLock()
SpinLock constructor comment. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SpinLock
public SpinLock()
- SpinLock constructor comment.
acquire
public void acquire(Condition condition,
long timeout)
throws TimeoutException,
java.lang.InterruptedException,
java.lang.IllegalArgumentException
- ÇöÀç ½ºÇɶô¿¡
release()
¸Þ½ÃÁö°¡ ÀüÇØÁú ¶§±îÁö ºí·ÏÅ· µÈ´Ù.
- Throws:
TimeoutException
- ŸÀӾƿôÀÌ ¹ß»ýÇϸé ÀÌ ¿¹¿Ü°¡ ¹ß»ýÇÑ´Ù.
java.lang.InterruptedException
- ¸¸¾à ´Ù¸¥ ½º·¹µå¿¡¼ ÀÎÅÍ·´Æ®¸¦ ÇßÀ» °æ¿ì
java.lang.IllegalArgumentException
- timeout °ªÀÌ À½¼öÀÏ °æ¿ì ¹ß»ýÇÑ´Ù.
Creation date: (2001-07-25 ¿ÀÀü 3:27:14)
release
public void release()