JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent
ÀÎÅÍÆäÀ̽º CompletionService<V>

¾Ë·ÁÁø ±¸Çö Ŭ·¡½º ¸ñ·Ï:
ExecutorCompletionService

public interface CompletionService<V>

»õ·Î¿î ºñµ¿±â ŽºÅ©ÀÇ »ý¼ºÀ» ¿Ï·áÇÊ Å½ºÅ©ÀÇ °á°úÀÇ ¼Òºñ·ÎºÎÅÍ ºÐ¸®ÇÏ´Â ¼­ºñ½º. ÇÁ·Îµà¼­´Â ½ÇÇà¿ëÀÇ Å½ºÅ©¿¡ ´ëÇؼ­ submit¸¦ ½ÇÇàÇÕ´Ï´Ù. ÄÁ½´¸Ó(consumer)´Â ¿Ï·áÇÊÀÇ Å½ºÅ©¿¡ take¸¦ ½ÇÇàÇØ, °á°ú¸¦ ¿Ï·áÇÑ ¼ø¼­¿¡ ó¸®ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, CompletionService¸¦ »ç¿ëÇØ, ºñµ¿±â ÀÔÃâ·ÂÀ» °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì µ¶Çظ¦ ½ÇÇàÇϴ ŽºÅ©´Â ÇÁ·Î±×·¥ ¶Ç´Â ½Ã½ºÅÛÀÇ ÀϺο¡°Ô °Ç³×Á® µ¶ÇØÀÇ ¿Ï·á½Ã¿¡ ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ºÎºÐ¿¡¼­ 󸮵˴ϴÙ. ó¸®ÀÇ ¼ø¼­´Â ¿ä±¸µÈ ¼ø¼­¿Í´Â ´Ù¸¥ °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÀϹÝÀûÀ¸·ÎCompletionService¿¡ ¼­´Â ŽºÅ©ÀÇ ½ÇÁ¦ÀÇ ½ÇÇàÀº º°°³ Executor ·Î ÇàÇØÁý´Ï´Ù. ÀÌ °æ¿ì CompletionService´Â ³»ºÎÀÇ ¿Ï·á Å¥¸¸À» °ü¸®ÇÕ´Ï´Ù. ExecutorCompletionService Ŭ·¡½º´Â ÀÌ ¼ö¹ýÀÇ ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù.


¸Þ¼­µå °³¿ä
 Future <V > poll ()
          ´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù.
 Future <V > poll (long timeout, TimeUnit  unit)
          ´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù.
 Future <V > submit (Callable <V > task)
          °ªÀ» µ¹·ÁÁÖ´Â ½ÇÇà¿ë ŽºÅ©¸¦ ¼Û½ÅÇØ, º¸·ù »óÅÂÀÇ Å½ºÅ© °á°ú¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Future <V > submit (Runnable  task, V  result)
          ½ÇÇàÇÏ´Â Runnable ŽºÅ©¸¦ ¼Û½ÅÇØ, ±× ŽºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Future <V > take ()
          ´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù.
 

¸Þ¼­µåÀÇ »ó¼¼

submit

Future <V > submit(Callable <V > task)
°ªÀ» µ¹·ÁÁÖ´Â ½ÇÇà¿ë ŽºÅ©¸¦ ¼Û½ÅÇØ, º¸·ù »óÅÂÀÇ Å½ºÅ© °á°ú¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¿Ï·á½Ã¿¡ ÀÌ Å½ºÅ©¸¦ ²¨³¾±î Æú¸µ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
task - ¼Û½ÅÇϴ ŽºÅ©
¹Ýȯ°ª:
ŽºÅ©ÀÇ º¸·ù ¿Ï·á¸¦ ³ªÅ¸³»´Â Future
¿¹¿Ü:
RejectedExecutionException - ŽºÅ©ÀÇ ½ÇÇàÀ» ½ºÄÉÁÙ ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - ŽºÅ©°¡ nullÀÎ °æ¿ì

submit

Future <V > submit(Runnable  task,
                 V  result)
½ÇÇàÇÏ´Â Runnable ŽºÅ©¸¦ ¼Û½ÅÇØ, ±× ŽºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¿Ï·á½Ã¿¡ ÀÌ Å½ºÅ©¸¦ ²¨³¾±î Æú¸µ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
task - ¼Û½ÅÇϴ ŽºÅ©
result - Á¤»óÀûÀ¸·Î ¿Ï·áÇßÀ» °æ¿ì¿¡ µ¹·ÁÁÖ´Â °á°ú
¹Ýȯ°ª:
ŽºÅ©ÀÇ º¸·ù ¿Ï·á¸¦ ³ªÅ¸³»´Â Future. ±× get() ¸Þ¼­µå´Â ¿Ï·á½Ã·Î ÁöÁ¤µÈ °á°úÄ¡¸¦ µ¹·ÁÁØ´Ù
¿¹¿Ü:
RejectedExecutionException - ŽºÅ©ÀÇ ½ÇÇàÀ» ½ºÄÉÁÙ ÇÒ ¼ö ¾ø´Â °æ¿ì
NullPointerException - ŽºÅ©°¡ nullÀÎ °æ¿ì

take

Future <V > take()
               throws InterruptedException 
´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù. ¾Æ¹«°Íµµ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â ´ë±âÇÕ´Ï´Ù.

¹Ýȯ°ª:
´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì

poll

Future <V > poll()
´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù. ¾Æ¹«°Íµµ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future. ¾Æ¹«°Íµµ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â null

poll

Future <V > poll(long timeout,
               TimeUnit  unit)
               throws InterruptedException 
´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù. ¾Æ¹«°Íµµ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ÇÊ¿ä¿¡ µû¶ó¼­ ÁöÁ¤µÈ ´ë±â ½Ã°£±îÁö ´ë±âÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
timeout - 󸮸¦ ÁßÁöÇÒ ¶§±îÁöÀÇ ´ë±â ½Ã°£. ´ÜÀ§´Â unit
unit - timeout ÆĶó¹ÌÅÍÀÇ Çؼ® ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â TimeUnit
¹Ýȯ°ª:
´ÙÀ½ÀÇ ¿Ï·áÇÊ Å½ºÅ©¸¦ ³ªÅ¸³»´Â Future. ÁöÁ¤µÈ ´ë±â ½Ã°£ÀÌ °æ°úÇصµ ¾Æ¹«°Íµµ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
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 µµ ÂüÁ¶ÇϽʽÿÀ.