JavaTM 2
Platform
Std.  Ed.  v1. 4.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 ´Â µ¿½Ã¿¡ ½ºÄÉÁÙ µÈ ŽºÅ©ÀÇ ¼öÀÔ´Ï´Ù.

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

»ý¼ºÀÚÀÇ °³¿ä
Timer ()
          »õ·Î¿î ŸÀ̸Ӹ¦ ÀÛ¼ºÇÕ´Ï´Ù.
Timer (boolean isDaemon)
          demon·Î¼­ ½ÇÇàµÇµµ·Ï(µíÀÌ) ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °ü·Ã thread¸¦ °¡Áö´Â »õ·Î¿î ŸÀ̸Ӱ¡ ÀÛ¼ºµË´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 void cancel ()
          ÇöÀç ½ºÄÉÁÙ µÇ°í Àִ ŽºÅ©¸¦ ÆÄ±âÇØ, ÀÌ Å¸À̸Ӹ¦ Á¾·áÇÕ´Ï´Ù.
 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()
¸Þ¼ÒµåÀÇ »ó¼¼

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) ¸¦ ÁöÁöÇϰí ÀÖ´Â ½Ã½ºÅÛ Å¬·ÏÀÌ Á¤È®À̶ó°í ÇÏ´Â ÀüÁ¦·Î).

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

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

schedule

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

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

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

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

scheduleAtFixedRate

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

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

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

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

cancel

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

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

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


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.