JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.lang
Ŭ·¡½º ThreadLocal

java.lang.Object 
  |
  +--java.lang.ThreadLocal
Á÷°èÀÇ ±âÁ¸ÀÇ ¼­ºê Ŭ·¡½º:
InheritableThreadLocal

public class ThreadLocal
extends Object

ÀÌ Å¬·¡½º´Â 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 ·ÎÄà ÀνºÅϽºÀÇ Ä«ÇÇ´Â ¸ðµÎ °¡º£Áö Ä÷ºÆ®µË´Ï´Ù (ÀÌ·¯ÇÑ Ä«ÇÇ¿¡ÀÇ ÂüÁ¶°¡ ±× ¹Û¿¡ Á¸ÀçÇÏ´Â °æ¿ì¸¦ Á¦¿ÜÇÏ´Ù).

µµÀÔµÈ ¹öÁ¯:
1.2

»ý¼ºÀÚÀÇ °³¿ä
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
 

»ý¼ºÀÚÀÇ »ó¼¼

ThreadLocal

public ThreadLocal()
¸Þ¼ÒµåÀÇ »ó¼¼

initialValue

protected Object  initialValue()
ÀÌ thread ·ÎÄÃÀÎ º¯¼ö¿¡ ´ëÇÑ ÇöÇà threadÀÇ ÃʱâÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â °¢ thread ·ÎÄÃÀÇ thread¿¡ ¾×¼¼½º ÇÒ ¶§¿¡ ÇÑ ¹ø, °¢ thread°¡ get() ¶Ç´Â set(Object) ¸Þ¼Òµå¸¦ »ç¿ëÇØ ÃÖÃÊ·Î º¯¼ö¿¡ ¾×¼¼½º ÇÒ ¶§¿¡ ºÒ·Á °©´Ï´Ù. ÇÁ·Î±×·¡¸Ó°¡ thread ·ÎÄà º¯¼ö¸¦ null ÀÌ¿ÜÀÇ °ªÀ¸·Î ÃʱâÈ­ÇÏ´Â °æ¿ì,ThreadLocal ¸¦ ¼­ºê Ŭ·¡½ºÈ­ÇØ, ÀÌ ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Åë»ó, À͸íÀÇ ³»ºÎ Ŭ·¡½º°¡ »ç¿ëµË´Ï´Ù. initialValue ÀÇ ÀüÇüÀûÀÎ ±¸ÇöÀº ÀûÀýÇÑ constructor¸¦ È£ÃâÇØ, »õ·Ó°Ô ±¸ÃàµÈ ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ thread ·ÎÄÃÀÇ ÃʱâÄ¡

get

public Object  get()
ÀÌ thread ·ÎÄà º¯¼öÀÇ ÇöÇà threadÀÇ Ä«Çdz»ÀÇ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. thread·Î óÀ½À¸·Î ÀÌ ¸Þ¼Òµå°¡ ºÒ·Á °¬À» ¶§´Â Ä«Çǰ¡ ÀÛ¼ºµÇ¾î ÃʱâÈ­µË´Ï´Ù.

¹Ýȯ°ª:
ÀÌ thread ·ÎÄÃÀÇ ÇöÇà threadÀÇ °ª

set

public void set(Object  value)
ÀÌ thread ·ÎÄà º¯¼öÀÇ ÇöÇà threadÀÇ Ä«ÇǸ¦, ÁöÁ¤µÈ °ªÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. À̰ÍÀº initialValue ¸Þ¼Òµå¿¡ ÀÇÇØ ´ëÀÔµÈ °ªÀ» º¯°æÇÏ´Â °æ¿ì¿¡¸¸ »ç¿ëµË´Ï´Ù. ¸¹Àº ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â ÀÌ ±â´ÉÀº ÇÊ¿ä ¾ø½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
value - ÀÌ thread ·ÎÄÃÀÇ ÇöÇà threadÀÇ Ä«ÇÇ¿¡ ÀúÀåµÇ´Â °ª

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.