|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
public interface ScheduledExecutorService
ÁöÁ¤µÈ Áö¿¬ ½Ã°£ ÈÄ, ¶Ç´Â ÁÖ±âÀûÀ¸·Î Ä¿¸àµåÀÇ ½ÇÇàÀ» ½ºÄÉÁÙ °¡´ÉÇÑ ExecutorService .
schedule ¸Þ¼µå´Â ´Ù¾çÇÑ Áö¿¬À» °¡Áö´Â ŽºÅ©¸¦ ÀÛ¼ºÇØ, ½ÇÇàÀÇ Ãë¼Ò³ª üũ¿¡ »ç¿ë °¡´ÉÇÑ Å½ºÅ© °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. scheduleAtFixedRate ¹× scheduleWithFixedDelay ¸Þ¼µå´Â »èÁ¦µÉ ¶§±îÁö ÁÖ±âÀûÀ¸·Î ½ÇÇàµÇ´Â ŽºÅ©¸¦ ÀÛ¼º ¹× ½ÇÇàÇÕ´Ï´Ù.
Executor.execute(java.lang.Runnable) ¹× ExecutorService submit ¸Þ¼µå¸¦ »ç¿ëÇØ ¼Û½ÅµÇ´Â Ä¿¸àµå´Â ¿ä±¸µÈ Áö¿¬ Á¦·Î·Î ½ºÄÉÁÙ¸µ µË´Ï´Ù. °ªÀÌ Á¦·Î ¹× ºÎÀÇ Áö¿¬ (ÇǸ®¾îµå´Â ¾øÀ½)µµ schedule ¸Þ¼µå·Î Çã°¡ ¹× 󸮵Ǿî Áï½Ã ½ÇÇàµË´Ï´Ù.
¸ðµç schedule ¸Þ¼µå´Â Àμö·Î¼ Àý´ë ½Ã°£À̳ª ³¯Â¥¿Í ½Ã°£°¡ ¾Æ´Ï°í ¡¸»ó´ëÀûÀΡ¹Áö¿¬ ¹× ±â°£À» ¹Þ¾ÆµéÀÔ´Ï´Ù. Date ·Î ³ªÅ¸³»Áö´Â Àý´ë ½Ã°£ÀÌ ¿ä±¸µÈ Çü½ÄÀ¸·Î º¯È¯ÇÏ´Â °ÍÀº °£´ÜÇÕ´Ï´Ù. ¿¹¸¦ µé¾î
Àå·¡ÀÇ Æ¯Á¤ÀÇ date¿¡ ½ºÄÉÁÙÀ» ¼³Á¤ÇÏ´Â °æ¿ì´Â schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS)¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, »ó´ë Áö¿¬ÀÇ À¯È¿±â°£ÀÌ ÇöÀçÀÇ Date (ÀÌ ½ÃÁ¡¿¡¼
³×Æ®¿öÅ© ½Ã°¢ µ¿±â ÇÁ·ÎÅäÄÝ, Ŭ¶ô ¾î±ß³ª ¶Ç´Â ´Ù¸¥ ¿äÀÎÀ» À§Çؼ ŽºÅ©°¡ À¯È¿ÇÏ°Ô µÈ´Ù)¿¡ ÀÏÄ¡ÇÒ ÇÊ¿ä´Â ¾ø´Â °Í¿¡ À¯ÀÇÇØ ÁÖ¼¼¿ä.
Executors Ŭ·¡½º´Â ÀÌ ÆÐŰÁö·Î Á¦°øµÇ´Â ScheduledExecutorService ±¸Çö¿ëÀÇ Æí¸®¼ºÀÇ ³ôÀº ÆÑÅ丮 ¸Þ¼µå¸¦ Á¦°øÇÕ´Ï´Ù.
import static java.util.concurrent.TimeUnit. *;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<? > beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}
| ¸Þ¼µå °³¿ä | ||
|---|---|---|
|
schedule (Callable <V> callable,
long delay,
TimeUnit unit)
ÁöÁ¤µÈ Áö¿¬ ÈÄ¿¡ À¯È¿ÇÏ°Ô µÇ´Â ScheduledFuture¸¦ ÀÛ¼º ¹× ½ÇÇàÇÕ´Ï´Ù. |
|
ScheduledFuture <? > |
schedule (Runnable command,
long delay,
TimeUnit unit)
ÁöÁ¤µÈ Áö¿¬ ÈÄ¿¡ À¯È¿ÇÏ°Ô µÇ´Â ´Ü¹ßÀûÀÎ ¾×¼ÇÀ» ÀÛ¼º ¹× ½ÇÇàÇÕ´Ï´Ù. |
|
ScheduledFuture <? > |
scheduleAtFixedRate (Runnable command,
long initialDelay,
long period,
TimeUnit unit)
ÁöÁ¤µÈ Ãʱâ Áö¿¬ ÈÄ¿¡ ÃÖÃÊ·Î À¯È¿ÇÏ°Ô µÇ¾î, ±× µÚ·Î´Â ÁöÁ¤µÈ ±â°£ ÈÄ¿¡ À¯È¿ÇÏ°Ô µÇ´Â ÁÖ±âÀûÀÎ ¾×¼ÇÀ» ÀÛ¼º ¹× ½ÇÇàÇÕ´Ï´Ù. |
|
ScheduledFuture <? > |
scheduleWithFixedDelay (Runnable command,
long initialDelay,
long delay,
TimeUnit unit)
ÁöÁ¤µÈ Ãʱâ Áö¿¬ ÈÄ¿¡ ÃÖÃÊ·Î À¯È¿ÇÏ°Ô µÇ¾î, ±× µÚ·Î´Â ½ÇÇà Á¾·á·ÎºÎÅÍ ´ÙÀ½ÀÇ ½ÇÇà °³½Ã±îÁöÀÇ ÁöÁ¤ Áö¿¬ ÈÄ¿¡ À¯È¿ÇÏ°Ô µÇ´Â ÁÖ±âÀûÀÎ ¾×¼ÇÀ» ÀÛ¼º ¹× ½ÇÇàÇÕ´Ï´Ù. |
|
| ÀÎÅÍÆäÀ̽º java.util.concurrent. ExecutorService ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
|---|
awaitTermination,
invokeAll,
invokeAll,
invokeAny,
invokeAny,
isShutdown,
isTerminated,
shutdown,
shutdownNow,
submit,
submit,
submit |
| ÀÎÅÍÆäÀ̽º java.util.concurrent. Executor ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
|---|
execute |
| ¸Þ¼µåÀÇ »ó¼¼ |
|---|
ScheduledFuture <? > schedule(Runnable command,
long delay,
TimeUnit unit)
command - ½ÇÇàÇϴ ŽºÅ©delay - ÇöÀçºÎÅÍÀÇ ½ÇÇà Áö¿¬ ½Ã°£unit - Áö¿¬ ÆÄ¶ó¹ÌÅÍÀÇ ½Ã°£ ´ÜÀ§
RejectedExecutionException - ŽºÅ©ÀÇ ½ÇÇàÀ» ½ºÄÉÁÙ ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - Ä¿¸àµå°¡ nullÀÎ °æ¿ì
<V> ScheduledFuture <V> schedule(Callable <V> callable,
long delay,
TimeUnit unit)
callable - ½ÇÇàÇÏ´Â ÇÔ¼ödelay - ÇöÀçºÎÅÍÀÇ ½ÇÇà Áö¿¬ ½Ã°£unit - Áö¿¬ ÆÄ¶ó¹ÌÅÍÀÇ ½Ã°£ ´ÜÀ§
RejectedExecutionException - ŽºÅ©ÀÇ ½ÇÇàÀ» ½ºÄÉÁÙ ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - callable°¡ nullÀÎ °æ¿ì
ScheduledFuture <? > scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit)
command - ½ÇÇàÇϴ ŽºÅ©initialDelay - ÃÖÃÊÀÇ ½ÇÇàÀÇ Áö¿¬ ½Ã°£period - ÈļÓÀÇ ½ÇÇà °£°Ýunit - initialDelay ¹× period ÆÄ¶ó¹ÌÅÍÀÇ ½Ã°£ ´ÜÀ§
RejectedExecutionException - ŽºÅ©ÀÇ ½ÇÇàÀ» ½ºÄÉÁÙ ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - Ä¿¸àµå°¡ nullÀÎ °æ¿ì
IllegalArgumentException - ±â°£ÀÌ Á¦·Î ¾Æ·¡ÀÇ °æ¿ì
ScheduledFuture <? > scheduleWithFixedDelay(Runnable command,
long initialDelay,
long delay,
TimeUnit unit)
command - ½ÇÇàÇϴ ŽºÅ©initialDelay - ÃÖÃÊÀÇ ½ÇÇàÀÇ Áö¿¬ ½Ã°£delay - ½ÇÇà Á¾·á·ÎºÎÅÍ ´ÙÀ½ÀÇ ½ÇÇà °³½Ã±îÁöÀÇ Áö¿¬unit - initialDelay ¹× delay ÆÄ¶ó¹ÌÅÍÀÇ ½Ã°£ ´ÜÀ§
RejectedExecutionException - ŽºÅ©ÀÇ ½ÇÇàÀ» ½ºÄÉÁÙ ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - Ä¿¸àµå°¡ nullÀÎ °æ¿ì
IllegalArgumentException - Áö¿¬ÀÌ Á¦·Î ¾Æ·¡ÀÇ °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.