JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent
Ŭ·¡½º FutureTask<V>

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.concurrent.FutureTask<V>
ÇüÅ ÆĶó¹ÌÅÍ:
V - ÀÌ FutureTask get ¸Þ¼­µå¿¡ ÀÇÇØ ¸®ÅÏµÈ °á°úÀÇ ÇüÅÂ
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Runnable, Future <V>

public class FutureTask<V>
extends Object
implements Future <V>, Runnable

Ãë¼ÒÇØ °¡´ÉÇÑ ºñµ¿±â °è»ê. ÀÌ Å¬·¡½º´Â °è»êÀÇ °³½Ã ¹× Ãë¼ÒÇØ, °è»êÀÇ ¿Ï·áÀÇ Á¶È¸ ¹× °è»ê °á°úÀÇ ÃëµæÀ» ½Ç½ÃÇÏ´Â ¸Þ¼­µå¸¦ Æ÷ÇÔÇÑ Future ±âº» ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. °á°ú´Â °è»êÀÇ ¿Ï·á½Ã¿¡°Ô¸¸ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. °è»êÀÌ ¿Ï·áÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì, get ¸Þ¼­µå¿¡ ÀÇÇØ ºí·ÏÀÌ ½ÇÇàµË´Ï´Ù. ÀÏ´Ü °è»êÀÌ ¿Ï·áÇϸé, °è»êÀ» Àç°³½Ã Çϰųª Ãë¼ÒÇϰųª ÇÒ ¼ö ¾ø½À´Ï´Ù.

FutureTask¸¦ »ç¿ëÇØ, Callable ³ª Runnable °´Ã¼¸¦ ·¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. FutureTask´Â Runnable¸¦ ±¸ÇöÇϱâ À§ÇØ, FutureTask¸¦ Executor¿¡ ¼Û½ÅÇØ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ Å¬·¡½º´Â ½ºÅĵå¾ó·ÐÀÇ Å¬·¡½º·Î¼­ µ¿ÀÛÇÏ´Â °Í¿¡ ´õÇØÄ¿½ºÅ͸¶ÀÌÁî µÈ Å½ºÅ© Ŭ·¡½ºÀÇ ÀÛ¼º½Ã¿¡ µµ¿òÀÌ µÇ´Â protected ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.

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

»ý¼ºÀÚ °³¿ä
FutureTask (Callable <V > callable)
          ½ÇÇà½Ã·Î ÁöÁ¤µÈ Callable¸¦ ½ÇÇàÇÏ´Â FutureTask¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
FutureTask (Runnable  runnable, V  result)
          ½ÇÇà½Ã·Î ÁöÁ¤µÈ Runnable¸¦ ½ÇÇàÇØ, Á¤»óÀûÀ¸·Î ¿Ï·áÇßÀ» °æ¿ì¿¡ get°¡ ÁöÁ¤µÈ °á°ú¸¦ µ¹·ÁÁÖµµ·Ï °áÁ¤ÇÏ´Â FutureTask¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 boolean cancel (boolean mayInterruptIfRunning)
          ÀÌ Å½ºÅ©ÀÇ ½ÇÇàÀÇ Ãë¼Ò¸¦ ½ÃµµÇÕ´Ï´Ù.
protected  void done ()
          ÀÌ Å½ºÅ©°¡ (º¸Åë ÀÇ ¹æ¹ý ¶Ç´Â Ãë¼ÒÇØ¿¡ ÇØ) isDone »óÅ·ΠÀÌÇàÇÒ ¶§¿¡ È£ÃâµÇ´Â Protected ¸Þ¼­µå.
 V get ()
          ÇÊ¿ä¿¡ µû¶ó¼­ °è»êÀÌ ¿Ï·áÇÒ ¶§±îÁö ´ë±âÇØ, ±× ÈÄ, °á°ú¸¦ ÃëµæÇÕ´Ï´Ù.
 V get (long timeout, TimeUnit  unit)
          ÇÊ¿ä¿¡ µû¶ó¼­, °è»êÀÌ ¿Ï·áÇÏ´Â °ÍÀ» ÁöÁ¤µÈ ½Ã°£±îÁö ´ë±âÇÕ´Ï´Ù.
 boolean isCancelled ()
          ÀÌ Å½ºÅ©°¡ º¸Åë ´ë·Î ¿Ï·áÇϱâ Àü¿¡ »èÁ¦µÇ¾úÀ» °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean isDone ()
          ÀÌ Å½ºÅ©°¡ ¿Ï·áÇßÀ» °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 void run ()
          »èÁ¦µÇ¾úÀ¸¹Ç·Î ¾ø´Â ÇÑ, ÀÌ Future¸¦ °è»ê °á°ú·Î ¼³Á¤ÇÕ´Ï´Ù.
protected  boolean runAndReset ()
          °á°ú¸¦ ¼³Á¤ÇÏÁö ¾Ê°í °è»êÀ» ½ÇÇàÇØ, ÀÌ Future¸¦ Ãʱ⠻óÅ¿¡ ¸®¼Â ÇÕ´Ï´Ù.
protected  void set (V  v)
          ÀÌ future°¡ ¼³Á¤ ¶Ç´Â Ãë¼ÒÇØ°¡ ³¡³­ »óÅ°¡ ¾Æ´Ñ ÇÑ, ÀÌ Future °á°ú°¡ ÁöÁ¤µÈ °ªÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
protected  void setException (Throwable  t)
          ÀÌ Future°¡ ¼³Á¤ ¶Ç´Â Ãë¼ÒÇØ°¡ ³¡³­ »óÅ°¡ ¾Æ´Ñ ÇÑ, ÁöÁ¤µÈ throwable¸¦ ¿øÀÎÀ¸·Î ÇÏ´Â ExecutionExceptionÀ» future°¡ ¸®Æ÷Æ®Çϵµ·Ï ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

FutureTask

public FutureTask(Callable <V > callable)
½ÇÇà½Ã·Î ÁöÁ¤µÈ Callable¸¦ ½ÇÇàÇÏ´Â FutureTask¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
callable - È£ÃâÇØ °¡´ÉÇÑ Å½ºÅ©
¿¹¿Ü:
NullPointerException - callable°¡ nullÀÎ °æ¿ì

FutureTask

public FutureTask(Runnable  runnable,
                  V  result)
½ÇÇà½Ã·Î ÁöÁ¤µÈ Runnable¸¦ ½ÇÇàÇØ, Á¤»óÀûÀ¸·Î ¿Ï·áÇßÀ» °æ¿ì¿¡ get°¡ ÁöÁ¤µÈ °á°ú¸¦ µ¹·ÁÁÖµµ·Ï °áÁ¤ÇÏ´Â FutureTask¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
runnable - ½ÇÇà °¡´ÉÇÑ Å½ºÅ©
result - Á¤»óÀûÀ¸·Î ¿Ï·áÇßÀ» °æ¿ì¿¡ µ¹·ÁÁÖ´Â °á°ú. ƯÁ¤ÀÇ °á°ú°¡ ÇÊ¿ä¾ø´Â °æ¿ì´Â Future<? > f = new FutureTask<Object>(runnable, null) Çü½ÄÀÇ »ç¿ëÀ» °í·ÁÇÑ´Ù
¿¹¿Ü:
NullPointerException - runnable°¡ nullÀÎ °æ¿ì
¸Þ¼­µåÀÇ »ó¼¼

isCancelled

public boolean isCancelled()
ÀÎÅÍÆäÀ̽º Future ±â¼ú:
ÀÌ Å½ºÅ©°¡ º¸Åë ´ë·Î ¿Ï·áÇϱâ Àü¿¡ »èÁ¦µÇ¾úÀ» °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Future <V > ³»ÀÇ isCancelled
¹Ýȯ°ª:
ŽºÅ©°¡ ¿Ï·áÇϱâ Àü¿¡ »èÁ¦µÇ¾úÀ» °æ¿ì´Â true

isDone

public boolean isDone()
ÀÎÅÍÆäÀ̽º Future ±â¼ú:
ÀÌ Å½ºÅ©°¡ ¿Ï·áÇßÀ» °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¿Ï·áÀÇ ¿øÀο¡´Â Á¤»ó Á¾·á, ¿¹¿Ü, ¶Ç´Â Ãë¼Ò°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¾î´À °æ¿ì¿¡¼­µµ, ÀÌ ¸Þ¼­µå´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Future <V > ³»ÀÇ isDone
¹Ýȯ°ª:
ÀÌ Å½ºÅ©°¡ ¿Ï·áÇßÀ» °æ¿ì´Â true

cancel

public boolean cancel(boolean mayInterruptIfRunning)
ÀÎÅÍÆäÀ̽º Future ±â¼ú:
ÀÌ Å½ºÅ©ÀÇ ½ÇÇàÀÇ Ãë¼Ò¸¦ ½ÃµµÇÕ´Ï´Ù. ŽºÅ©°¡ ¿Ï·áÇÏ°í ÀÖ´ÂÁö, »èÁ¦µÇ°í ÀÖ´ÂÁö, ´Ù¸¥ ¾î¶°ÇÑ ÀÌÀ¯·Î½á Ãë¼ÒÇÒ ¼ö°¡ ¾ø´Â °æ¿ì, ÀÌ ½Ãµµ´Â ½ÇÆÐÇÕ´Ï´Ù. ½ÇÇàÀÇ Ãë¼Ò°¡ ¼º°øÇØ, cancel°¡ ºÒ·Á °¬À» ¶§¿¡ ÀÌ Å½ºÅ©°¡ ½ÃÀ۵Ǿî ÀÖÁö ¾ÊÀº °æ¿ì, ÀÌ Å½ºÅ©´Â °áÄÚ ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. ŽºÅ©°¡ ÀÌ¹Ì ½ÃÀÛÇÏ°í ÀÖ´Â °æ¿ì, mayInterruptIfRunning ÆĶó¹ÌÅÍ´Â ÀÌ Å½ºÅ©¸¦ Á¤ÁöÇϱâ À§Çؼ­ ŽºÅ©¸¦ ½ÇÇàÁßÀÇ thread¿¡ ÀÎÅÍ·´Æ®¸¦ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆǺ°ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Future <V > ³»ÀÇ cancel
ÆĶó¹ÌÅÍ:
mayInterruptIfRunning - ÀÌ Å½ºÅ©¸¦ ½ÇÇàÁßÀÇ thread¿¡ ÀÎÅÍ·´Æ®¸¦ ½Ç½ÃÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â ÁøÇàÁßÀÇ Å½ºÅ©°¡ ¿Ï·áÇÏ´Â °ÍÀÌ Çã°¡µÈ´Ù
¹Ýȯ°ª:
ŽºÅ©´Â ÀÌ¹Ì Á¤»óÀûÀ¸·Î ¿Ï·áÇÏ°í ÀÖ´Â µîÀÇ ÀÌÀ¯·Î½á ŽºÅ©¸¦ Ãë¼ÒÇÒ ¼ö°¡ ¾ø´Â °æ¿ì´Â false, ±×·¸Áö ¾ÊÀº °æ¿ì´Â true

get

public V  get()
      throws InterruptedException,

             ExecutionException 
ÀÎÅÍÆäÀ̽º Future ±â¼ú:
ÇÊ¿ä¿¡ µû¶ó¼­ °è»êÀÌ ¿Ï·áÇÒ ¶§±îÁö ´ë±âÇØ, ±× ÈÄ, °á°ú¸¦ ÃëµæÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Future <V > ³»ÀÇ get
¹Ýȯ°ª:
°è»ê °á°ú
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
ExecutionException - °è»ê¿¡ ÀÇÇØ ¿¹¿Ü°¡ Throw µÇ¾úÀ» °æ¿ì

get

public V  get(long timeout,
             TimeUnit  unit)
      throws InterruptedException,

             ExecutionException,

             TimeoutException 
ÀÎÅÍÆäÀ̽º Future ±â¼ú:
ÇÊ¿ä¿¡ µû¶ó¼­, °è»êÀÌ ¿Ï·áÇÏ´Â °ÍÀ» ÁöÁ¤µÈ ½Ã°£±îÁö ´ë±âÇÕ´Ï´Ù. ±× ÈÄ, °¡´ÉÇÏ¸é °á°ú¸¦ ÃëµæÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Future <V > ³»ÀÇ get
ÆĶó¹ÌÅÍ:
timeout - ´ë±âÇÏ´Â ÃÖÀå ½Ã°£
unit - timeout ÀμöÀÇ ½Ã°£ ´ÜÀ§
¹Ýȯ°ª:
°è»ê °á°ú
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
ExecutionException - °è»ê¿¡ ÀÇÇØ ¿¹¿Ü°¡ Throw µÇ¾úÀ» °æ¿ì
TimeoutException - ÁöÁ¤µÈ ´ë±â ½Ã°£ÀÌ °æ°úÇßÀ» °æ¿ì

done

protected void done()
ÀÌ Å½ºÅ©°¡ (º¸Åë ÀÇ ¹æ¹ý ¶Ç´Â Ãë¼ÒÇØ¿¡ ÇØ) isDone »óÅ·ΠÀÌÇàÇÒ ¶§¿¡ È£ÃâµÇ´Â Protected ¸Þ¼­µå. µðÆúÆ® ±¸ÇöÀº ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. ¼­ºê Ŭ·¡½º´Â ÀÌ ¸Þ¼­µå¸¦ ¿À¹ö¶óÀ̵å(override) ÇØ, ¿Ï·á ÄݹéÀ» È£ÃâÇÏ´ÂÁö, µî·Ï 󸮸¦ ½ÇÇàÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µåÀÇ ±¸Çö ³»ºÎ »óŸ¦ Á¶È¸ÇÏ´Â °ÍÀ¸·Î ÀÌ Å½ºÅ©°¡ »èÁ¦µÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.


set

protected void set(V  v)
ÀÌ future°¡ ¼³Á¤ ¶Ç´Â Ãë¼ÒÇØ°¡ ³¡³­ »óÅ°¡ ¾Æ´Ñ ÇÑ, ÀÌ Future °á°ú°¡ ÁöÁ¤µÈ °ªÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
v - Ä¡

setException

protected void setException(Throwable  t)
ÀÌ Future°¡ ¼³Á¤ ¶Ç´Â Ãë¼ÒÇØ°¡ ³¡³­ »óÅ°¡ ¾Æ´Ñ ÇÑ, ÁöÁ¤µÈ throwable¸¦ ¿øÀÎÀ¸·Î ÇÏ´Â ExecutionExceptionÀ» future°¡ ¸®Æ÷Æ®Çϵµ·Ï ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
t - ÀåÇØÀÇ ¿øÀÎ

run

public void run()
»èÁ¦µÇ¾úÀ¸¹Ç·Î ¾ø´Â ÇÑ, ÀÌ Future¸¦ °è»ê °á°ú·Î ¼³Á¤ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Runnable ³»ÀÇ run
°ü·Ã Ç׸ñ:
Thread.run()

runAndReset

protected boolean runAndReset()
°á°ú¸¦ ¼³Á¤ÇÏÁö ¾Ê°í °è»êÀ» ½ÇÇàÇØ, ÀÌ Future¸¦ Ãʱ⠻óÅ¿¡ ¸®¼Â ÇÕ´Ï´Ù. °è»êÀ¸·Î ¿¹¿Ü°¡ ¹ß»ýÇÒ±î °è»êÀÌ »èÁ¦µÇ¸é, ÀÌ Ã³¸®°¡ ½ÇÆÐÇÕ´Ï´Ù. ÀÌ°ÍÀº ¿©·¯ Â÷·ÊÀÇ ½ÇÇàÀÌ »ðÀÔµÈ Å½ºÅ©·Î »ç¿ëÇϵµ·Ï ¼³°èµÇ°í ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
½ÇÇà ¹× ¸®¼Â°¡ ¼º°øÇßÀ» °æ¿ì´Â true

JavaTM 2 Platform
Standard Ed. 5.0

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