JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent
Ŭ·¡½º AbstractExecutorService

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.concurrent.AbstractExecutorService
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Executor, ExecutorService
¾Ë·ÁÁø Á÷°è ¼­ºê Ŭ·¡½º:
ThreadPoolExecutor

public abstract class AbstractExecutorService
extends Object
implements ExecutorService

ExecutorService ½ÇÇà ¸Þ¼­µåÀÇ µðÆúÆ® ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â ÀÌ ÆÐÅ°Áö·Î Á¦°øµÇ´Â µðÆúÆ® FutureTask Ŭ·¡½º¸¦ »ç¿ëÇØ, submit, invokeAny ¹× invokeAll ¸Þ¼­µå¸¦ ±¸ÇöÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, submit(Runnable) ±¸ÇöÀÌ °ü·ÃµÈ FutureTask¸¦ ÀÛ¼ºÇØ, ÀÌ°ÍÀÌ ½ÇÇàµÇ¾î ¸®Åϵ˴ϴ٠. ÀÌ·¯ÇÑ ¸Þ¼­µå¸¦ ¿À¹ö¶óÀ̵å(override)ÀÇÇØ ´Ù¸¥ Future ±¸ÇöÀ» »ç¿ëÇÏ´Â ¼­ºê Ŭ·¡½º´Â ¸Þ¼­µå ¸¶´Ù ÀÌ Ã³¸®¸¦ ÀÏ°üÇØ ½ÇÇàÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.5

»ý¼ºÀÚ °³¿ä
AbstractExecutorService ()
           
 
¸Þ¼­µå °³¿ä
<T> List <Future <T>>
invokeAll (Collection <Callable <T>> tasks)
          ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, Future ¸®½ºÆ®¸¦ ½ºÅ×ÀÌÅͽº¿Í ÇÔ²² µ¹·ÁÁÖ°í, ¸ðµç °ÍÀÌ ¿Ï·áÇÏ¸é °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> List <Future <T>>
invokeAll (Collection <Callable <T>> tasks, long timeout, TimeUnit  unit)
          ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, Future ¸®½ºÆ®¸¦ ½ºÅ×ÀÌÅͽº¿Í ÇÔ²² µ¹·ÁÁÖ°í, ¸ðµç °ÍÀÌ ¿Ï·áÇϵ簡 ¶Ç´Â ¸¶°¨ ½Ã°£ÀÌ µÉ±îÀÇ ¾ðÁ¨°¡ ºü¸¥ ½ÃÁ¡¿¡¼­ °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> T
invokeAny (Collection <Callable <T>> tasks)
          ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, Á¤»óÀûÀ¸·Î ¿Ï·áÇÑ Å½ºÅ©°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× °á°ú¸¦ (¿¹¿Ü¸¦ Throw ÇÏÁö ¾Ê°í ) ¸®ÅÏÇÕ´Ï´Ù.
<T> T
invokeAny (Collection <Callable <T>> tasks, long timeout, TimeUnit  unit)
          ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, ŸÀÓ ¾Æ¿ôÀÌ µÇ±â Àü¿¡ Á¤»óÀûÀ¸·Î ¿Ï·áÇÑ Å½ºÅ©°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× °á°ú¸¦ (¿¹¿Ü¸¦ Throw ÇÏÁö ¾Ê°í ) ¸®ÅÏÇÕ´Ï´Ù.
<T> Future <T>
submit (Callable <T> task)
          °ªÀ» µ¹·ÁÁÖ´Â ½ÇÇà ŽºÅ©¸¦ ¼Û½ÅÇØ, º¸·ùÁßÀÇ Å½ºÅ© °á°ú¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Future <? > submit (Runnable  task)
          ½ÇÇà¿ëÀÇ Runnable ŽºÅ©¸¦ ¼Û½ÅÇØ, ±× ŽºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> Future <T>
submit (Runnable  task, T result)
          ½ÇÇà¿ëÀÇ Runnable ŽºÅ©¸¦ ¼Û½ÅÇØ, ¿Ï·á½Ã·Î ÁöÁ¤µÈ °á°ú¸¦ µ¹·ÁÁִ ŽºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
ÀÎÅÍÆäÀ̽º java.util.concurrent. ExecutorService ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
awaitTermination, isShutdown, isTerminated, shutdown, shutdownNow
 
ÀÎÅÍÆäÀ̽º java.util.concurrent. Executor ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
execute
 

»ý¼ºÀÚ »ó¼¼

AbstractExecutorService

public AbstractExecutorService()
¸Þ¼­µåÀÇ »ó¼¼

submit

public Future <? > submit(Runnable  task)
ÀÎÅÍÆäÀ̽º ExecutorService ±â¼ú:
½ÇÇà¿ëÀÇ Runnable ŽºÅ©¸¦ ¼Û½ÅÇØ, ±× ŽºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ExecutorService ³»ÀÇ submit
ÆĶó¹ÌÅÍ:
task - ¼Û½ÅÇϴ ŽºÅ©
¹Ýȯ°ª:
º¸·ù »óÅÂÀÇ Å½ºÅ© ¿Ï·á¸¦ ³ªÅ¸³»´Â Future. ±× get() ¸Þ¼­µå´Â ¿Ï·á½Ã¿¡ nullÀ» µ¹·ÁÁØ´Ù

submit

public <T> Future <T> submit(Runnable  task,
                            T result)
ÀÎÅÍÆäÀ̽º ExecutorService ±â¼ú:
½ÇÇà¿ëÀÇ Runnable ŽºÅ©¸¦ ¼Û½ÅÇØ, ¿Ï·á½Ã·Î ÁöÁ¤µÈ °á°ú¸¦ µ¹·ÁÁִ ŽºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ExecutorService ³»ÀÇ submit
ÆĶó¹ÌÅÍ:
task - ¼Û½ÅÇϴ ŽºÅ©
result - µ¹·ÁÁÖ´Â °á°ú
¹Ýȯ°ª:
ŽºÅ©ÀÇ º¸·ù ¿Ï·á¸¦ ³ªÅ¸³»´Â Future. ±× get() ¸Þ¼­µå´Â ¿Ï·á½Ã·Î ÁöÁ¤µÈ °á°ú¸¦ µ¹·ÁÁØ´Ù

submit

public <T> Future <T> submit(Callable <T> task)
ÀÎÅÍÆäÀ̽º ExecutorService ±â¼ú:
°ªÀ» µ¹·ÁÁÖ´Â ½ÇÇà ŽºÅ©¸¦ ¼Û½ÅÇØ, º¸·ùÁßÀÇ Å½ºÅ© °á°ú¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ŽºÅ©ÀÇ ´ë±â¸¦ Áï½Ã ºí·Ï ÇÏ´Â °æ¿ì´Â result = exec.submit(aCallable). get(); Çü½Ä¿¡¼­ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÁÖ: Executors Ŭ·¡½º¿¡´Â Å©·ÎÀ𸦠´àÀº ´Ù¸¥ ÀÏ¹Ý °´Ã¼¸¦ º¯È¯ °¡´ÉÇÑ ¸Þ¼­µå ¼¼Æ® (¿¹¸¦ µé¾î, PrivilegedAction¸¦ ¼Û½Å °¡´ÉÇÑ Callable Çü½ÄÀ¸·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù)°¡ Æ÷ÇԵ˴ϴÙ.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ExecutorService ³»ÀÇ submit
ÆĶó¹ÌÅÍ:
task - ¼Û½ÅÇϴ ŽºÅ©
¹Ýȯ°ª:
ŽºÅ©ÀÇ º¸·ù ¿Ï·á¸¦ ³ªÅ¸³»´Â Future

invokeAny

public <T> T invokeAny(Collection <Callable <T>> tasks)
            throws InterruptedException,

                   ExecutionException 
ÀÎÅÍÆäÀ̽º ExecutorService ±â¼ú:
ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, Á¤»óÀûÀ¸·Î ¿Ï·áÇÑ Å½ºÅ©°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× °á°ú¸¦ (¿¹¿Ü¸¦ Throw ÇÏÁö ¾Ê°í ) ¸®ÅÏÇÕ´Ï´Ù. º¸Åë ¶Ç´Â ¿¹¿Ü¸¦ ¼ö¹ÝÇÏ´Â º¹±Í½Ã¿¡ ¹Ì¿Ï·áÀÇ Å½ºÅ©´Â »èÁ¦µË´Ï´Ù. ÀÌ Á¶ÀÛÀÌ ÁøÇàÁßÀ¸·Î ÁöÁ¤µÈ Ä÷º¼ÇÀÌ º¯°æµÇ¾úÀ» °æ¿ìÀÇ, ÀÌ ¸Þ¼­µåÀÇ °á°ú´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ExecutorService ³»ÀÇ invokeAny
ÆĶó¹ÌÅÍ:
tasks - ŽºÅ©ÀÇ Ä÷º¼Ç
¹Ýȯ°ª:
¸î°³ÀÇ Å½ºÅ©¿¡ ÀÇÇØ ¸®ÅÏµÈ °á°ú
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
ExecutionException - Á¤»óÀûÀ¸·Î ¿Ï·áÇÑ Å½ºÅ©°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì

invokeAny

public <T> T invokeAny(Collection <Callable <T>> tasks,
                       long timeout,
                       TimeUnit  unit)
            throws InterruptedException,

                   ExecutionException,

                   TimeoutException 
ÀÎÅÍÆäÀ̽º ExecutorService ±â¼ú:
ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, ŸÀÓ ¾Æ¿ôÀÌ µÇ±â Àü¿¡ Á¤»óÀûÀ¸·Î ¿Ï·áÇÑ Å½ºÅ©°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× °á°ú¸¦ (¿¹¿Ü¸¦ Throw ÇÏÁö ¾Ê°í ) ¸®ÅÏÇÕ´Ï´Ù. º¸Åë ¶Ç´Â ¿¹¿Ü¸¦ ¼ö¹ÝÇÏ´Â º¹±Í½Ã¿¡ ¹Ì¿Ï·áÀÇ Å½ºÅ©´Â »èÁ¦µË´Ï´Ù. ÀÌ Á¶ÀÛÀÌ ÁøÇàÁßÀ¸·Î ÁöÁ¤µÈ Ä÷º¼ÇÀÌ º¯°æµÇ¾úÀ» °æ¿ìÀÇ, ÀÌ ¸Þ¼­µåÀÇ °á°ú´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ExecutorService ³»ÀÇ invokeAny
ÆĶó¹ÌÅÍ:
tasks - ŽºÅ©ÀÇ Ä÷º¼Ç
timeout - ´ë±âÇÏ´Â ÃÖÀå ½Ã°£
unit - timeout ÀμöÀÇ ½Ã°£ ´ÜÀ§
¹Ýȯ°ª:
¸î°³ÀÇ Å½ºÅ©¿¡ ÀÇÇØ ¸®ÅÏµÈ °á°ú
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
ExecutionException - Á¤»óÀûÀ¸·Î ¿Ï·áÇÑ Å½ºÅ©°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
TimeoutException - ¸î°³ÀÇ Å½ºÅ©°¡ Á¤»óÀûÀ¸·Î ¿Ï·áÇϱâ Àü¿¡ ÁöÁ¤µÈ ŸÀÓ ¾Æ¿ô ½Ã°£ÀÌ °æ°úÇßÀ» °æ¿ì

invokeAll

public <T> List <Future <T>> invokeAll(Collection <Callable <T>> tasks)
                          throws InterruptedException 
ÀÎÅÍÆäÀ̽º ExecutorService ±â¼ú:
ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, Future ¸®½ºÆ®¸¦ ½ºÅ×ÀÌÅͽº¿Í ÇÔ²² µ¹·ÁÁÖ°í, ¸ðµç °ÍÀÌ ¿Ï·áÇÏ¸é °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ ¸®½ºÆ®ÀÇ °¢ ¿ä¼Ò¿¡ ´ëÇؼ­ Done´Â true°¡ µË´Ï´Ù. ¡¸¿Ï·áÇß´Ù¡¹Å½ºÅ©´Â º¸Åë ÀÇ ¹æ¹ý ¶Ç´Â ¿¹¿Ü¸¦ Throw ÇÏ´Â °ÍÀ¸·Î Á¾·áÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ Á¶ÀÛÀÇ ÁøÇàÁßÀ¸·Î ÁöÁ¤µÈ Ä÷º¼ÇÀÌ º¯°æµÇ¾úÀ» °æ¿ì, ÀÌ ¸Þ¼­µåÀÇ °á°ú´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ExecutorService ³»ÀÇ invokeAll
ÆĶó¹ÌÅÍ:
tasks - ŽºÅ©ÀÇ Ä÷º¼Ç
¹Ýȯ°ª:
ŽºÅ©¸¦ ³ªÅ¸³»´Â Futures ¸®½ºÆ®. ¸®½ºÆ®ÀÇ Â÷·Ê´Â ÁöÁ¤µÈ ŽºÅ© ¸®½ºÆ®ÀÇ ¹Ýº¹ÀÚ¿¡ ÀÇÇØ »ý¼ºµÇ´Â Â÷·Ê¿Í °°°í, °¢ ŽºÅ©´Â ¿Ï·áÇÊÀÌ´Ù
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì. ÀÌ °æ¿ì ¹Ì¿Ï·áÀÇ Å½ºÅ©´Â »èÁ¦µÈ´Ù

invokeAll

public <T> List <Future <T>> invokeAll(Collection <Callable <T>> tasks,
                                     long timeout,
                                     TimeUnit  unit)
                          throws InterruptedException 
ÀÎÅÍÆäÀ̽º ExecutorService ±â¼ú:
ÁöÁ¤µÈ ŽºÅ©¸¦ ½ÇÇàÇØ, Future ¸®½ºÆ®¸¦ ½ºÅ×ÀÌÅͽº¿Í ÇÔ²² µ¹·ÁÁÖ°í, ¸ðµç °ÍÀÌ ¿Ï·áÇϵ簡 ¶Ç´Â ¸¶°¨ ½Ã°£ÀÌ µÉ±îÀÇ ¾ðÁ¨°¡ ºü¸¥ ½ÃÁ¡¿¡¼­ °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ ¸®½ºÆ®ÀÇ °¢ ¿ä¼Ò¿¡ ´ëÇؼ­ Done´Â true°¡ µË´Ï´Ù. ¸®ÅÏµÈ ½ÃÁ¡¿¡¼­´Â ¿Ï·áÇÏ°í ÀÖÁö ¾Ê´Â ŽºÅ©´Â »èÁ¦µË´Ï´Ù. ¡¸¿Ï·áÇß´Ù¡¹Å½ºÅ©´Â º¸Åë ÀÇ ¹æ¹ý ¶Ç´Â ¿¹¿Ü¸¦ Throw ÇÏ´Â °ÍÀ¸·Î Á¾·áÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ Á¶ÀÛÀÇ ÁøÇàÁßÀ¸·Î ÁöÁ¤µÈ Ä÷º¼ÇÀÌ º¯°æµÇ¾úÀ» °æ¿ì, ÀÌ ¸Þ¼­µåÀÇ °á°ú´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ExecutorService ³»ÀÇ invokeAll
ÆĶó¹ÌÅÍ:
tasks - ŽºÅ©ÀÇ Ä÷º¼Ç
timeout - ´ë±âÇÏ´Â ÃÖÀå ½Ã°£
unit - timeout ÀμöÀÇ ½Ã°£ ´ÜÀ§
¹Ýȯ°ª:
ŽºÅ©¸¦ ³ªÅ¸³»´Â Futures ¸®½ºÆ®. ¸®½ºÆ®ÀÇ Â÷·Ê´Â ÁöÁ¤µÈ ŽºÅ© ¸®½ºÆ®ÀÇ ¹Ýº¹ÀÚ¿¡ ÀÇÇØ »ý¼ºµÇ´Â Â÷·Ê¿Í °°°Ô µÈ´Ù. Á¶ÀÛÀÌ Å¸ÀÓ ¾Æ¿ô ÇÏÁö ¾Ê¾Ò´ø °æ¿ì, °¢ ŽºÅ©´Â ¿Ï·áÇÑ´Ù. ŸÀÓ ¾Æ¿ô ÇßÀ» °æ¿ì´Â ŽºÅ©ÀÇ ÀϺδ ¿Ï·áÇÏÁö ¾Ê´Â´Ù
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì. ÀÌ °æ¿ì ¹Ì¿Ï·áÀÇ Å½ºÅ©´Â »èÁ¦µÈ´Ù

JavaTM 2 Platform
Standard Ed. 5.0

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