|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.lang.ThreadLocal
ÀÌ Å¬·¡½º´Â thread ·ÎÄà º¯¼ö¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ º¯¼ö´Â get ¸Þ¼Òµå ¶Ç´Â set ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¾×¼¼½º ÇÏ´Â thread°¡ °¢°¢ µ¶ÀÚÀûÀ¸·Î, º¯¼öÀÇ ÃʱâÈµÈ Ä«ÇǸ¦ °®´Â´Ù°í ÇÏ´Â Á¡À¸·Î½á, Åë»óÀÇ º¯¼ö¿Í ´Ù¸¨´Ï´Ù. Åë»ó,ThreadLocal ÀνºÅϽº´Â »óŸ¦ thread¿¡ °ü·ÃÁöÀ¸·Á°í Çϴ Ŭ·¡½º¿¡¼ÀÇ private static ÇʵåÀÔ´Ï´Ù (À¯Àú ID, Æ®·£Àè¼Ç(transaction) ID µî).
¿¹¸¦ µé¾î, ÀÌÇÏÀÇ Å¬·¡½º¿¡¼´Â private static ThreadLocal ÀνºÅϽº (serialNum)´Â Ŭ·¡½ºÀÇ static SerialNum.get() ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â thread ¸¶´Ù ¡¸½Ã¸®¾ó ¹øÈ£¡¹¸¦ °ü¸®ÇÕ´Ï´Ù. threadÀÇ ½Ã¸®¾ó ¹øÈ£´Â SerialNum.get() ÀÇ ÃÖÃÊÀÇ È£Ãâ½Ã¿¡ ÇÒ´çÇÒ ¼ö ÀÖ¾î ±× ÈÄÀÇ È£Ãâ·Î º¯°æµÉ °ÍÀº ¾ø½À´Ï´Ù.
public class SerialNum { // The next serial number to be assigned private static int nextSerialNum = 0; private static ThreadLocal serialNum = new ThreadLocal() { protected synchronized Object initialValue() { return new Integer(nextSerialNum++); } }; public static int get() { return ((Integer) (serialNum.get())). intValue(); } }
°¢ thread´Â , thread°¡ »ýÁ¸Çϰí ÀÖ¾î ThreadLocal ÀνºÅϽº°¡ ¾×¼¼½º °¡´ÉÇÑ »çÀÌ´Â thread ·ÎÄà º¯¼öÀÇ Ä«ÇÇ¿¡ÀÇ ¾Ï¹¬ÀûÀÎ ÂüÁ¶¸¦ º¸°ü À¯ÁöÇÕ´Ï´Ù. thread°¡ Á¾·áÇϸé(ÀÚ), thread ·ÎÄà ÀνºÅϽºÀÇ Ä«ÇÇ´Â ¸ðµÎ °¡º£Áö Ä÷ºÆ®µË´Ï´Ù (ÀÌ·¯ÇÑ Ä«ÇÇ¿¡ÀÇ ÂüÁ¶°¡ ±× ¹Û¿¡ Á¸ÀçÇÏ´Â °æ¿ì¸¦ Á¦¿ÜÇÏ´Ù).
»ý¼ºÀÚÀÇ °³¿ä | |
ThreadLocal ()
|
¸Þ¼ÒµåÀÇ °³¿ä | |
Object |
get ()
ÀÌ thread ·ÎÄà º¯¼öÀÇ ÇöÇà threadÀÇ Ä«Çdz»ÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. |
protected Object |
initialValue ()
ÀÌ thread ·ÎÄÃÀÎ º¯¼ö¿¡ ´ëÇÑ ÇöÇà threadÀÇ ÃʱâÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù. |
void |
set (Object value)
ÀÌ thread ·ÎÄà º¯¼öÀÇ ÇöÇà threadÀÇ Ä«ÇǸ¦, ÁöÁ¤µÈ °ªÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
»ý¼ºÀÚÀÇ »ó¼¼ |
public ThreadLocal()
¸Þ¼ÒµåÀÇ »ó¼¼ |
protected Object initialValue()
get()
¶Ç´Â set(Object)
¸Þ¼Òµå¸¦ »ç¿ëÇØ ÃÖÃÊ·Î º¯¼ö¿¡ ¾×¼¼½º ÇÒ ¶§¿¡ ºÒ·Á °©´Ï´Ù. ÇÁ·Î±×·¡¸Ó°¡ thread ·ÎÄà º¯¼ö¸¦ null ÀÌ¿ÜÀÇ °ªÀ¸·Î ÃʱâÈÇÏ´Â °æ¿ì,ThreadLocal ¸¦ ¼ºê Ŭ·¡½ºÈÇØ, ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Åë»ó, À͸íÀÇ ³»ºÎ Ŭ·¡½º°¡ »ç¿ëµË´Ï´Ù. initialValue ÀÇ ÀüÇüÀûÀÎ ±¸ÇöÀº ÀûÀýÇÑ constructor¸¦ È£ÃâÇØ, »õ·Ó°Ô ±¸ÃàµÈ ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
public Object get()
public void set(Object value)
value
- ÀÌ thread ·ÎÄÃÀÇ ÇöÇà threadÀÇ Ä«ÇÇ¿¡ ÀúÀåµÇ´Â °ª
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.