JavaTM 2 Platform
Standard Ed. 5.0

java.util
Ŭ·¡½º Timer

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.Timer

public class Timer
extends Object

¹é±×¶ó¿îµå thread·Î Àå·¡ ½ÇÇàµÇ´Â ŽºÅ©¸¦ ½ºÄÉÁÙ ÇÏ´Â thread¸¦ À§ÇÑ ±â´ÉÀÔ´Ï´Ù. ŽºÅ©´Â 1ȸ ¸¸, ¶Ç´Â Á¤±âÀûÀ¸·Î ¹Ýº¹ÇØ ½ÇÇàµÇµµ·Ï ½ºÄÉÁÙ µË´Ï´Ù.

°¢ Timer °´Ã¼¿Í ´ëÀÀÇÏ´Â °ÍÀº ŸÀ̸ÓÀÇ Å½ºÅ©¸¦ ¸ðµÎ ¿¬¼ÓÇØ ½ÇÇàÇϱâ À§Çؼ­ »ç¿ëµÇ´Â ´ÜÀÏÀÇ ¹é±×¶ó¿îµå threadÀÔ´Ï´Ù. ŸÀÌ¸Ó Å½ºÅ©´Â ½Å¼ÓÈ÷ ½ÇÇàµÉ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ŸÀÌ¸Ó Å½ºÅ©ÀÇ ¿Ï·á¿¡ ½Ã°£ÀÌ ³Ê¹« °É¸®¸é, ŸÀ̸ÓÀÇ Å½ºÅ© ½ÇÇà thread°¡ ¡¸Á¡À¯¡¹µË´Ï´Ù. ÀÌ°Í¿¡ ÀÇÇØ ÈļÓÀÇ Å½ºÅ©ÀÇ ½ÇÇàÀÌ ´Ê¾î À§¹ÝÇÑ Å½ºÅ©ÀÇ ¿Ï·á½Ã (¿Ï·áÇßÀ» °æ¿ì)¿¡ ¿¬´Þ¾Æ ¡¸Á¤¸®Çϸ硹½ÇÇàµÇ°Ô µË´Ï´Ù.

Timer °´Ã¼ÀÇ ¸¶Áö¸· ¶óÀ̺ê ÂüÁ¶°¡ Á¾·áÇØ, ¹Ìó¸®ÀÇ Å½ºÅ©°¡ ¸ðµÎ ½ÇÇàµÇ¸é, ŸÀ̸ÓÀÇ Å½ºÅ© ½ÇÇà threadµµ µ¿½Ã¿¡ ¿Ï·áÇØ, °¡ºñÁö Ä÷ºÆ®µË´Ï´Ù. ´Ù¸¸, ÀÌ°Í¿¡´Â ÇѾø°í ±ä ½Ã°£ÀÌ °É¸®´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. µðÆúÆ®¿¡¼­´Â ŽºÅ©ÀÇ ½ÇÇà thread´Â ¡¸demon thread¡¹·Î¼­´Â ½ÇÇàµÇÁö ¾Ê±â ¶§¹®¿¡ ¾îÇø®ÄÉÀ̼ÇÀÌ Á¾·áÇÏÁö ¾Ê°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. ŸÀ̸ÓÀÇ Å½ºÅ© ½ÇÇà thread¸¦ Áï½Ã ¿Ï·á½ÃÅ°´Â °æ¿ì, È£ÃâÃøÀº ŸÀ̸ÓÀÇ cancel ¸Þ¼­µå¸¦ È£ÃâÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

stop ¸Þ¼­µåÀÇ È£Ãâµî¿¡ ÀÇÇØ Å¸À̸ÓÀÇ Å½ºÅ© ½ÇÇà thread°¡ ¿¹»ó¿ÜÀÇ ½Ã°£¿¡ Á¾·áÇßÀ» °æ¿ì, ŸÀ̸ÓÀÇ Å½ºÅ©¸¦ ½ºÄÉÁÙ ÇÏ·Á°í Çϸé, ŸÀ̸ÓÀÇ cancel ¸Þ¼­µå°¡ ºÒ·Á °¬À» °æ¿ì¿Í °°°Ô, IllegalStateExceptionÀÌ ¹ß»ýÇÕ´Ï´Ù.

ÀÌ Å¬·¡½º´Â thread ¼¼ÀÌÇÁÀÔ´Ï´Ù. ¿ÜºÎÀÇ µ¿±âÈ­¸¦ ½Ç½ÃÇÏÁö ¾Ê¾Æµµ, º¹¼öÀÇ thread·Î ´ÜÀÏÀÇ Timer °´Ã¼¸¦ °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ Å¬·¡½º¿¡¼­´Â ¸®¾óŸÀÓÀº º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. Object.wait(long) ¸Þ¼­µå¸¦ »ç¿ëÇØ, ŽºÅ©°¡ ½ºÄÉÁÙ µË´Ï´Ù.

±¸Çö»óÀÇ ÁÖÀÇ: ÀÌ Å¬·¡½º´Â µ¿½Ã¿¡ ½ºÄÉÁÙ µÈ ´Ù¼öÀÇ Å½ºÅ©¸¦ ½½Ä¶¸µ ÇÕ´Ï´Ù (¼öõ¿¡¼­µµ ¹®Á¦´Â ¾ø´Ù). ŽºÅ© Å¥¸¦ ³ªÅ¸³»±â À§Çؼ­ ¹ÙÀ̳ʸ® heap°¡ ³»ºÎÀûÀ¸·Î »ç¿ëµÇ±â ¶§¹®¿¡ ŽºÅ©¸¦ ½ºÄÉÁÙ ÇÏ´Â ÄÚ½ºÆ®´Â O(log n)°¡ µË´Ï´Ù. n´Â µ¿½Ã¿¡ ½ºÄÉÁÙ µÈ ŽºÅ©ÀÇ ¼öÀÔ´Ï´Ù.

±¸Çö»óÀÇ ÁÖÀÇ: ¸ðµç »ý¼ºÀڴ ŸÀÌ¸Ó thread¸¦ °³½ÃÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.3
°ü·Ã Ç׸ñ:
TimerTask, Object.wait(long)

»ý¼ºÀÚ °³¿ä
Timer ()
          »õ·Î¿î ŸÀ̸Ӹ¦ ÀÛ¼ºÇÕ´Ï´Ù.
Timer (boolean isDaemon)
          demon·Î¼­ ½ÇÇàµÇµµ·Ï ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °ü·Ã thread¸¦ °¡Áö´Â »õ·Î¿î ŸÀ̸Ӱ¡ ÀÛ¼ºµË´Ï´Ù.
Timer (String  name)
          ÁöÁ¤µÈ À̸§ÀÇ °ü·ÃµÈ thread¸¦ °¡Áö´Â »õ·Î¿î ŸÀ̸Ӱ¡ ÀÛ¼ºµË´Ï´Ù.
Timer (String  name, boolean isDaemon)
          ÁöÁ¤µÈ À̸§ÀÇ °ü·ÃµÈ thread¸¦ °¡Áö´Â »õ·Î¿î ŸÀ̸Ӱ¡ ÀÛ¼ºµË´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void cancel ()
          ÇöÀç ½ºÄÉÁÙ µÇ°í Àִ ŽºÅ©¸¦ ÆıâÇØ, ÀÌ Å¸À̸Ӹ¦ Á¾·áÇÕ´Ï´Ù.
 int purge ()
          »èÁ¦µÈ ¸ðµç ŽºÅ©¸¦, ÀÌ Å¸À̸ÓÀÇ Å½ºÅ© Å¥·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.
 void schedule (TimerTask  task, Date  time)
          ÁöÁ¤ÇÑ ½Ã°£À¸·Î ÁöÁ¤ÇÑ Å½ºÅ©°¡ ½ÇÇàµÇµµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù.
 void schedule (TimerTask  task, Date  firstTime, long period)
          ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ ½Ã°£¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ Áö¿¬ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù.
 void schedule (TimerTask  task, long delay)
          ÁöÁ¤ÇÑ Áö¿¬ÀÇ ÈÄ¿¡ ÁöÁ¤ÇÑ Å½ºÅ©°¡ ½ÇÇàµÇµµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù.
 void schedule (TimerTask  task, long delay, long period)
          ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ Áö¿¬ÀÇ ÈÄ¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ Áö¿¬ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù.
 void scheduleAtFixedRate (TimerTask  task, Date  firstTime, long period)
          ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ ½Ã°£¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ ºóµµ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù.
 void scheduleAtFixedRate (TimerTask  task, long delay, long period)
          ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ Áö¿¬ÀÇ ÈÄ¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ ºóµµ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

Timer

public Timer()
»õ·Î¿î ŸÀ̸Ӹ¦ ÀÛ¼ºÇÕ´Ï´Ù. °ü·ÃµÈ thread´Â demon·Î¼­´Â ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Thread, cancel()

Timer

public Timer(boolean isDaemon)
demon·Î¼­ ½ÇÇàµÇµµ·Ï ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °ü·Ã thread¸¦ °¡Áö´Â »õ·Î¿î ŸÀ̸Ӱ¡ ÀÛ¼ºµË´Ï´Ù. demon thread´Â ŸÀ̸Ӱ¡ ¡¸º¸¼ö ÀÛ¾÷¡¹ÀÇ ¹Ýº¹À» ½ºÄÉÁÙ Çϱâ À§Çؼ­ »ç¿ëµÇ´Â °æ¿ì¿¡ È£ÃâÇÕ´Ï´Ù. ÀÌ°ÍÀº ¾îÇø®ÄÉÀ̼ÇÀÌ ½ÇÇàµÇ°í ÀÖ´Â µ¿¾È ½ÇÇàµÉ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù¸¸, ¾îÇø®ÄÉÀ̼ÇÀÇ ¼ö¸íÀ» Áö¿¬½Ãų ¼ö ¾ø½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
isDaemon - °ü·ÃµÈ thread°¡ demon·Î¼­ ½ÇÇàµÇ´Â °æ¿ì´Â true
°ü·Ã Ç׸ñ:
Thread, cancel()

Timer

public Timer(String  name)
ÁöÁ¤µÈ À̸§ÀÇ °ü·ÃµÈ thread¸¦ °¡Áö´Â »õ·Î¿î ŸÀ̸Ӱ¡ ÀÛ¼ºµË´Ï´Ù. °ü·ÃµÈ thread´Â demon·Î¼­´Â ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
name - °ü·ÃµÈ threadÀÇ À̸§
¿¹¿Ü:
NullPointerException - À̸§ÀÌ nullÀÎ °æ¿ì
µµÀÔµÈ ¹öÀü :
1.5
°ü·Ã Ç׸ñ:
Thread.getName(), Thread.isDaemon()

Timer

public Timer(String  name,
             boolean isDaemon)
ÁöÁ¤µÈ À̸§ÀÇ °ü·ÃµÈ thread¸¦ °¡Áö´Â »õ·Î¿î ŸÀ̸Ӱ¡ ÀÛ¼ºµË´Ï´Ù. °ü·ÃµÈ thread´Â demon·Î¼­ÀÇ ½ÇÇàÀÌ ÁöÁ¤µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
name - °ü·ÃµÈ threadÀÇ À̸§
isDaemon - °ü·ÃµÈ thread°¡ demon·Î¼­ ½ÇÇàµÇ´Â °æ¿ì´Â true
¿¹¿Ü:
NullPointerException - À̸§ÀÌ nullÀÎ °æ¿ì
µµÀÔµÈ ¹öÀü :
1.5
°ü·Ã Ç׸ñ:
Thread.getName(), Thread.isDaemon()
¸Þ¼­µåÀÇ »ó¼¼

schedule

public void schedule(TimerTask  task,
                     long delay)
ÁöÁ¤ÇÑ Áö¿¬ÀÇ ÈÄ¿¡ ÁöÁ¤ÇÑ Å½ºÅ©°¡ ½ÇÇàµÇµµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
task - ½ºÄÉÁÙ µÇ´Â ŽºÅ©
delay - ŽºÅ©°¡ ½ÇÇàµÇ±â ÀüÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ Áö¿¬
¿¹¿Ü:
IllegalArgumentException - delay°¡ À߸øµÈ °ª ÀÇ °æ¿ì, ¶Ç´Â delay + System.currentTimeMillis()°¡ À߸øµÈ °ª ÀÇ °æ¿ì
IllegalStateException - ŽºÅ©°¡ ÀÌ¹Ì ½ºÄÉÁÙ µÇ¾ú´ÂÁö »èÁ¦µÇ¾úÀ» °æ¿ì, ¶Ç´Â ŸÀ̸Ӱ¡ »èÁ¦µÇ¾úÀ» °æ¿ì

schedule

public void schedule(TimerTask  task,
                     Date  time)
ÁöÁ¤ÇÑ ½Ã°£À¸·Î ÁöÁ¤ÇÑ Å½ºÅ©°¡ ½ÇÇàµÇµµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù. °ú°ÅÀÇ ½Ã°£À» ÁöÁ¤Çϸé, ŽºÅ©´Â Áï½Ã ½ÇÇàµÇµµ·Ï ½ºÄÉÁÙ µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
task - ½ºÄÉÁÙ µÇ´Â ŽºÅ©
time - ŽºÅ©°¡ ½ÇÇàµÇ´Â ½Ã°£
¿¹¿Ü:
IllegalArgumentException - time.getTime()°¡ À߸øµÈ °ª ÀÇ °æ¿ì
IllegalStateException - ŽºÅ©°¡ ÀÌ¹Ì ½ºÄÉÁÙ µÇ¾ú´ÂÁö »èÁ¦µÇ¾úÀ» °æ¿ì, ŸÀ̸Ӱ¡ »èÁ¦µÇ¾úÀ» °æ¿ì, ¶Ç´Â ŸÀÌ¸Ó thread°¡ Á¾·áÇßÀ» °æ¿ì

schedule

public void schedule(TimerTask  task,
                     long delay,
                     long period)
ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ Áö¿¬ÀÇ ÈÄ¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ Áö¿¬ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù. ±× ÈÄ´Â ÁöÁ¤ÇÑ ±â°£°ú´Â º°µµ·Î °ÅÀÇ ÀÏÁ¤ÇÑ °£°ÝÀ¸·Î ½ÇÇàµË´Ï´Ù.

°íÁ¤ Áö¿¬ ½ÇÇà¿¡¼­´Â ÀüÀÇ ½ÇÇàÀÇ ½ÇÁ¦ÀÇ ½ÇÇà ½Ã°£À» ±âÁØÀ¸·ÎÀÇÇØ °¢°¢ÀÇ ½ÇÇàÀÌ ½ºÄÉÁÙ µË´Ï´Ù. ¾î¶°ÇÑ ÀÌÀ¯·Î½á ½ÇÇàÀÌ Áö¿¬ ÇßÀ» °æ¿ì (°¡ºñÁö Ä÷º¼Ç, ±× ¿ÜÀÇ ¹é±×¶ó¿îµå ÀÛ¾÷ µî), ±× ÈÄÀÇ ½ÇÇ൵ Áö¿¬ µË´Ï´Ù. ÃÖÁ¾ÀûÀ¸·Î ½ÇÇàÀÇ ºóµµ´Â º¸Åë, ÁöÁ¤ÇÑ ±â°£ÀÇ ´ëÀÀÇÏ´Â ºóµµº¸´Ù ¾à°£ ´Ê¾îÁý´Ï´Ù (±âº»ÀÌ µÇ´Â Object.wait(long)¸¦ ÁöÁöÇÏ°í ÀÖ´Â ½Ã½ºÅÛ Å¬·ÏÀÌ Á¤È®À̶ó°í ÇÏ´Â ÀüÁ¦·Î).

°íÁ¤ Áö¿¬ ½ÇÇàÀº ¡¸¿øÈ°ÇÔ¡¹À» ÇÊ¿ä·Î ÇÏ´Â ÀÛ¾÷ÀÇ ¹Ýº¹¿¡ ÀûÀýÇÏ°í ÀÖ½À´Ï´Ù. Áï, Àå½Ã°£ÀÇ ½ÇÇຸ´Ù ´Ü½Ã°£ÀÇ ½ÇÇàÀ¸·Î ºóµµÀÇ Á¤È®ÇÔÀ» À¯ÁöÇÒ ÇÊ¿ä°¡ ÀÖ´Â ÀÛ¾÷¿¡ ÀûÀýÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ°Í¿¡´Â ÀÏÁ¤ÇÑ °£°ÝÀ¸·Î Ä¿¼­¸¦ Á¡¸ê½ÃÅ°´Â µî, ´ëºÎºÐÀÇ ¾Ö´Ï¸ÞÀÌ¼Ç Å½ºÅ©°¡ Æ÷ÇԵ˴ϴÙ. ¶Ç, Å°°¡ ¹Ð¸®°í ÀÖ´Â µ¿¾ÈÀº ¹®ÀÚ¸¦ ÀÚµ¿ÀûÀ¸·Î ¹Ýº¹ÇÏ´Â µî, »ç¿ëÀÚ ÀÇ ÀԷ¿¡ ÀÀÇØ ÀÏÁ¤ÇÑ È°µ¿ÀÌ ½ÇÇàµÇ´Â ŽºÅ©µµ Æ÷ÇԵ˴ϴÙ.

ÆĶó¹ÌÅÍ:
task - ½ºÄÉÁÙ µÇ´Â ŽºÅ©
delay - ŽºÅ©°¡ ½ÇÇàµÇ±â ÀüÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ Áö¿¬
period - ¿¬¼ÓÇϴ ŽºÅ© ½ÇÇàÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ ½Ã°£
¿¹¿Ü:
IllegalArgumentException - delay°¡ À߸øµÈ °ª ÀÇ °æ¿ì, ¶Ç´Â delay + System.currentTimeMillis()°¡ À߸øµÈ °ª ÀÇ °æ¿ì
IllegalStateException - ŽºÅ©°¡ ÀÌ¹Ì ½ºÄÉÁÙ µÇ¾ú´ÂÁö »èÁ¦µÇ¾úÀ» °æ¿ì, ŸÀ̸Ӱ¡ »èÁ¦µÇ¾úÀ» °æ¿ì, ¶Ç´Â ŸÀÌ¸Ó thread°¡ Á¾·áÇßÀ» °æ¿ì

schedule

public void schedule(TimerTask  task,
                     Date  firstTime,
                     long period)
ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ ½Ã°£¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ Áö¿¬ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù. ±× ÈÄ´Â ÁöÁ¤ÇÑ ±â°£°ú´Â º°µµ·Î °ÅÀÇ ÀÏÁ¤ÇÑ °£°ÝÀ¸·Î ½ÇÇàµË´Ï´Ù.

°íÁ¤ Áö¿¬ ½ÇÇà¿¡¼­´Â ÀüÀÇ ½ÇÇàÀÇ ½ÇÁ¦ÀÇ ½ÇÇà ½Ã°£À» ±âÁØÀ¸·ÎÀÇÇØ °¢°¢ÀÇ ½ÇÇàÀÌ ½ºÄÉÁÙ µË´Ï´Ù. ¾î¶°ÇÑ ÀÌÀ¯·Î½á ½ÇÇàÀÌ Áö¿¬ ÇßÀ» °æ¿ì (°¡ºñÁö Ä÷º¼Ç, ±× ¿ÜÀÇ ¹é±×¶ó¿îµå ÀÛ¾÷ µî), ±× ÈÄÀÇ ½ÇÇ൵ Áö¿¬ µË´Ï´Ù. ÃÖÁ¾ÀûÀ¸·Î ½ÇÇàÀÇ ºóµµ´Â º¸Åë, ÁöÁ¤ÇÑ ±â°£ÀÇ ´ëÀÀÇÏ´Â ºóµµº¸´Ù ¾à°£ ´Ê¾îÁý´Ï´Ù (±âº»ÀÌ µÇ´Â Object.wait(long)¸¦ ÁöÁöÇÏ°í ÀÖ´Â ½Ã½ºÅÛ Å¬·ÏÀÌ Á¤È®À̶ó°í ÇÏ´Â ÀüÁ¦·Î).

°íÁ¤ Áö¿¬ ½ÇÇàÀº ¡¸¿øÈ°ÇÔ¡¹À» ÇÊ¿ä·Î ÇÏ´Â ÀÛ¾÷ÀÇ ¹Ýº¹¿¡ ÀûÀýÇÏ°í ÀÖ½À´Ï´Ù. Áï, Àå½Ã°£ÀÇ ½ÇÇຸ´Ù ´Ü½Ã°£ÀÇ ½ÇÇàÀ¸·Î ºóµµÀÇ Á¤È®ÇÔÀ» À¯ÁöÇÒ ÇÊ¿ä°¡ ÀÖ´Â ÀÛ¾÷¿¡ ÀûÀýÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ°Í¿¡´Â ÀÏÁ¤ÇÑ °£°ÝÀ¸·Î Ä¿¼­¸¦ Á¡¸ê½ÃÅ°´Â µî, ´ëºÎºÐÀÇ ¾Ö´Ï¸ÞÀÌ¼Ç Å½ºÅ©°¡ Æ÷ÇԵ˴ϴÙ. ¶Ç, Å°°¡ ¹Ð¸®°í ÀÖ´Â µ¿¾ÈÀº ¹®ÀÚ¸¦ ÀÚµ¿ÀûÀ¸·Î ¹Ýº¹ÇÏ´Â µî, »ç¿ëÀÚ ÀÇ ÀԷ¿¡ ÀÀÇØ ÀÏÁ¤ÇÑ È°µ¿ÀÌ ½ÇÇàµÇ´Â ŽºÅ©µµ Æ÷ÇԵ˴ϴÙ.

ÆĶó¹ÌÅÍ:
task - ½ºÄÉÁÙ µÇ´Â ŽºÅ©
firstTime - ŽºÅ©°¡ ½ÇÇàµÇ´Â ÃÖÃÊÀÇ ½Ã°£
period - ¿¬¼ÓÇϴ ŽºÅ© ½ÇÇàÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ ½Ã°£
¿¹¿Ü:
IllegalArgumentException - time.getTime()°¡ À߸øµÈ °ª ÀÇ °æ¿ì
IllegalStateException - ŽºÅ©°¡ ÀÌ¹Ì ½ºÄÉÁÙ µÇ¾ú´ÂÁö »èÁ¦µÇ¾úÀ» °æ¿ì, ŸÀ̸Ӱ¡ »èÁ¦µÇ¾úÀ» °æ¿ì, ¶Ç´Â ŸÀÌ¸Ó thread°¡ Á¾·áÇßÀ» °æ¿ì

scheduleAtFixedRate

public void scheduleAtFixedRate(TimerTask  task,
                                long delay,
                                long period)
ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ Áö¿¬ÀÇ ÈÄ¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ ºóµµ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù. ±× ÈÄ´Â ÁöÁ¤ÇÑ ±â°£°ú´Â º°µµ·Î °ÅÀÇ ÀÏÁ¤ÇÑ °£°ÝÀ¸·Î ½ÇÇàµË´Ï´Ù.

°íÁ¤ ºóµµ ½ÇÇà¿¡¼­´Â ÃÖÃÊÀÇ ½ÇÇàÀÇ ½ºÄÉÁÙ µÈ ½ÇÇà ½Ã°£À» ±âÁØÀ¸·ÎÀÇÇØ °¢°¢ÀÇ ½ÇÇàÀÌ ½ºÄÉÁÙ µË´Ï´Ù. ¾î¶°ÇÑ ÀÌÀ¯·Î½á ½ÇÇàÀÌ Áö¿¬ ÇßÀ» °æ¿ì (°¡ºñÁö Ä÷º¼Ç ¶Ç´Â ±× ¿ÜÀÇ ¹é±×¶ó¿îµå ÀÛ¾÷ µî), ¡¸Áö¿¬À» µÇã´Â´Ù¡¹À§ÇØ 2°³ ÀÌ»óÀÇ ½ÇÇàÀÌ ¿¬¼ÓÇØ ÇàÇØÁý´Ï´Ù. ÃÖÁ¾ÀûÀ¸·Î ½ÇÇàÀÇ ºóµµ´Â ÁöÁ¤ÇÑ ±â°£ÀÇ ´ëÀÀÇÏ´Â ºóµµ¿Í °°°Ô µË´Ï´Ù (±âº»ÀÌ µÇ´Â Object.wait(long)¸¦ ÁöÁöÇÏ°í ÀÖ´Â ½Ã½ºÅÛ Å¬·ÏÀÌ Á¤È®À̶ó°í ÇÏ´Â ÀüÁ¦·Î).

°íÁ¤ ºóµµ ½ÇÇàÀº 1 ½Ã°£ ¸¶´Ù¿¡ Â÷ÀÓÀ» ¿ï¸®°Å³ª ƯÁ¤ÀÇ ½Ã°£¿¡ ¸ÅÀÏ ½ºÄÉÁÙ µÈ º¸¼ö¸¦ ½ÇÇàÇÏ´Â µî, ¡¸Àý´ë¡¹½Ã°£À» ¹Ý¿µÇÏ´Â ÀÛ¾÷À» ¹Ýº¹Çϴµ¥ ÀûÇÕÇÕ´Ï´Ù. ¶Ç, 10 ÃÊ ¸¶´Ù »õ°ÜÁö´Â Ä«¿îÆ®´Ù¿î ŸÀÌ¸Ó µî, Á¤ÇØÁø ¼öÀÇ ½ÇÇàÀÇ ÇÕ°è ½Ã°£ÀÌ Áß¿äÇÑ ÀÛ¾÷À» ¹Ýº¹Çϴµ¥µµ ÀûÇÕÇÕ´Ï´Ù. °Ô´Ù°¡ °íÁ¤ ºóµµ ½ÇÇàÀº ¼­·Î µ¿±âÈ­¸¦ º¸°ü À¯ÁöÇÒ ÇÊ¿ä°¡ ÀÖ´Â º¹¼öÀÇ ¹Ýº¹ ŸÀÌ¸Ó Å½ºÅ©¸¦ ½ºÄÉÁÙ Çϴµ¥µµ ÀûÇÕÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
task - ½ºÄÉÁÙ µÇ´Â ŽºÅ©
delay - ŽºÅ©°¡ ½ÇÇàµÇ±â ÀüÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ Áö¿¬
period - ¿¬¼ÓÇϴ ŽºÅ© ½ÇÇàÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ ½Ã°£
¿¹¿Ü:
IllegalArgumentException - delay°¡ À߸øµÈ °ª ÀÇ °æ¿ì, ¶Ç´Â delay + System.currentTimeMillis()°¡ À߸øµÈ °ª ÀÇ °æ¿ì
IllegalStateException - ŽºÅ©°¡ ÀÌ¹Ì ½ºÄÉÁÙ µÇ¾ú´ÂÁö »èÁ¦µÇ¾úÀ» °æ¿ì, ŸÀ̸Ӱ¡ »èÁ¦µÇ¾úÀ» °æ¿ì, ¶Ç´Â ŸÀÌ¸Ó thread°¡ Á¾·áÇßÀ» °æ¿ì

scheduleAtFixedRate

public void scheduleAtFixedRate(TimerTask  task,
                                Date  firstTime,
                                long period)
ÁöÁ¤ÇÑ Å½ºÅ©°¡ ÁöÁ¤ÇÑ ½Ã°£¿¡ ½ÃÀÛµÇ¾î ¡¸°íÁ¤ ºóµµ ½ÇÇࡹÀ» ¹Ýº¹Çϵµ·Ï ½ºÄÉÁÙ ÇÕ´Ï´Ù. ±× ÈÄ´Â ÁöÁ¤ÇÑ ±â°£°ú´Â º°µµ·Î °ÅÀÇ ÀÏÁ¤ÇÑ °£°ÝÀ¸·Î ½ÇÇàµË´Ï´Ù.

°íÁ¤ ºóµµ ½ÇÇà¿¡¼­´Â ÃÖÃÊÀÇ ½ÇÇàÀÇ ½ºÄÉÁÙ µÈ ½ÇÇà ½Ã°£À» ±âÁØÀ¸·ÎÀÇÇØ °¢°¢ÀÇ ½ÇÇàÀÌ ½ºÄÉÁÙ µË´Ï´Ù. ¾î¶°ÇÑ ÀÌÀ¯·Î½á ½ÇÇàÀÌ Áö¿¬ ÇßÀ» °æ¿ì (°¡ºñÁö Ä÷º¼Ç ¶Ç´Â ±× ¿ÜÀÇ ¹é±×¶ó¿îµå ÀÛ¾÷ µî), ¡¸Áö¿¬À» µÇã´Â´Ù¡¹À§ÇØ 2°³ ÀÌ»óÀÇ ½ÇÇàÀÌ ¿¬¼ÓÇØ ÇàÇØÁý´Ï´Ù. ÃÖÁ¾ÀûÀ¸·Î ½ÇÇàÀÇ ºóµµ´Â ÁöÁ¤ÇÑ ±â°£ÀÇ ´ëÀÀÇÏ´Â ºóµµ¿Í °°°Ô µË´Ï´Ù (±âº»ÀÌ µÇ´Â Object.wait(long)¸¦ ÁöÁöÇÏ°í ÀÖ´Â ½Ã½ºÅÛ Å¬·ÏÀÌ Á¤È®À̶ó°í ÇÏ´Â ÀüÁ¦·Î).

°íÁ¤ ºóµµ ½ÇÇàÀº 1 ½Ã°£ ¸¶´Ù¿¡ Â÷ÀÓÀ» ¿ï¸®°Å³ª ƯÁ¤ÀÇ ½Ã°£¿¡ ¸ÅÀÏ ½ºÄÉÁÙ µÈ º¸¼ö¸¦ ½ÇÇàÇÏ´Â µî, ¡¸Àý´ë¡¹½Ã°£À» ¹Ý¿µÇÏ´Â ÀÛ¾÷À» ¹Ýº¹Çϴµ¥ ÀûÇÕÇÕ´Ï´Ù. ¶Ç, 10 ÃÊ ¸¶´Ù »õ°ÜÁö´Â Ä«¿îÆ®´Ù¿î ŸÀÌ¸Ó µî, Á¤ÇØÁø ¼öÀÇ ½ÇÇàÀÇ ÇÕ°è ½Ã°£ÀÌ Áß¿äÇÑ ÀÛ¾÷À» ¹Ýº¹Çϴµ¥µµ ÀûÇÕÇÕ´Ï´Ù. °Ô´Ù°¡ °íÁ¤ ºóµµ ½ÇÇàÀº ¼­·Î µ¿±âÈ­¸¦ º¸°ü À¯ÁöÇÒ ÇÊ¿ä°¡ ÀÖ´Â º¹¼öÀÇ ¹Ýº¹ ŸÀÌ¸Ó Å½ºÅ©¸¦ ½ºÄÉÁÙ Çϴµ¥µµ ÀûÇÕÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
task - ½ºÄÉÁÙ µÇ´Â ŽºÅ©
firstTime - ŽºÅ©°¡ ½ÇÇàµÇ´Â ÃÖÃÊÀÇ ½Ã°£
period - ¿¬¼ÓÇϴ ŽºÅ© ½ÇÇàÀÇ ¹Ð¸® ¼¼ÄÁµå ´ÜÀ§ÀÇ ½Ã°£
¿¹¿Ü:
IllegalArgumentException - time.getTime()°¡ À߸øµÈ °ª ÀÇ °æ¿ì
IllegalStateException - ŽºÅ©°¡ ÀÌ¹Ì ½ºÄÉÁÙ µÇ¾ú´ÂÁö »èÁ¦µÇ¾úÀ» °æ¿ì, ŸÀ̸Ӱ¡ »èÁ¦µÇ¾úÀ» °æ¿ì, ¶Ç´Â ŸÀÌ¸Ó thread°¡ Á¾·áÇßÀ» °æ¿ì

cancel

public void cancel()
ÇöÀç ½ºÄÉÁÙ µÇ°í Àִ ŽºÅ©¸¦ ÆıâÇØ, ÀÌ Å¸À̸Ӹ¦ Á¾·áÇÕ´Ï´Ù. ÇöÀç ½ÇÇàÁßÀÇ Å½ºÅ© (ÀÖ´Â °æ¿ì)¿¡´Â °£¼·ÇÏÁö ¾Ê½À´Ï´Ù. ŸÀ̸Ӱ¡ Á¾·áÇϸé, ½ÇÇà threadµµ µ¿½Ã¿¡ Á¾·áÇØ, ŽºÅ©´Â ½ºÄÉÁÙ µÇÁö ¾Ê°Ô µË´Ï´Ù.

ÀÌ Å¸À̸ӿ¡ ÀÇÇØ ºÒ·Á °£ ŸÀÌ¸Ó Å½ºÅ©ÀÇ ½ÇÇà ¸Þ¼­µå·ÎºÎÅÍ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ÁøÇàÁßÀÇ Å½ºÅ© ½ÇÇàÀº ÀÌ Å¸À̸ӿ¡ ½ÇÇàµÇ´Â ¸¶Áö¸· ŽºÅ© ½ÇÇàÀÌ µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ¹Ýº¹ÇØ È£ÃâÇÕ´Ï´Ù. 2¹ø° ÀÌÈÄÀÇ È£Ãâ¿¡´Â È¿°ú´Â ¾ø½À´Ï´Ù.


purge

public int purge()
»èÁ¦µÈ ¸ðµç ŽºÅ©¸¦, ÀÌ Å¸À̸ÓÀÇ Å½ºÅ© Å¥·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇصµ ŸÀ̸ÓÀÇ µ¿ÀÛÀº ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù¸¸, »èÁ¦µÈ ŽºÅ©¿¡ÀÇ ÂüÁ¶¸¦ Å¥·ÎºÎÅÍ ¹èÁ¦ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Å½ºÅ©¿¡ÀÇ ¿ÜºÎ ÂüÁ¶°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ŽºÅ©´Â °¡ºñÁö Ä÷º¼ÇÀÇ ´ë»óÀÌ µË´Ï´Ù.

´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â °ÍÀº ´Ù¼öÀÇ Å½ºÅ©¸¦ Ãë¼ÒÇÒ ÇÊ¿ä°¡ ÀÖ´Â ¾îÇø®ÄÉÀ̼ÇÀ̸ç, ±×·¯ÇÑ ¾îÇø®ÄÉÀ̼ÇÀº Á»Ã³·³ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ó¸® ½Ã°£ºÎÅÍ ¸Þ¸ð¸® È¿À²ÀÌ ¿ì¼±µÇ±â ¶§¹®¿¡ ¸Þ¼­µåÀÇ ·±Å¸ÀÓÀÌ n + c log n¿¡ ºñ·ÊÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¿©±â¼­, n´Â Å¥³»ÀÇ Å½ºÅ©ÀÇ ¼ö, c´Â »èÁ¦µÈ ŽºÅ©ÀÇ ¼ö¸¦ ³ªÅ¸³À´Ï´Ù.

ÀÌ Å¸À̸ӿ¡ ½ºÄÉÁÙ µÈ ŽºÅ©³»·ÎºÎÅÍ, ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù .

¹Ýȯ°ª:
Å¥·ÎºÎÅÍ »èÁ¦µÈ ŽºÅ©ÀÇ ¼ö
µµÀÔµÈ ¹öÀü :
1.5

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.