0

スレッドで処理された STRING を返すメソッドがクラスにあり、RETURN が実行されるまでスレッドの作業を解決するのを待つ必要があります。それを解決するための任意のアイデア?? これの簡単な例がありますか??

ありがとう。

4

1 に答える 1

0

Java の場合、Callable インターフェイスはまさにこのために行われました。

 class CalculateSomeString implements Callable<String>{
     @Override
     public String call() throws Exception {
         //Simulate some work that it takes to calculate the String
         Thread.sleep(1000);
         return "CoolString";
     }
 }

そして、それを実行するコード

public static void main(String[] args) throws InterruptedException, ExecutionException {
    ExecutorService service = Executors.newFixedThreadPool(1);
    Future<String> future = service.submit(new CalculateSomeString());
    //this will block until the String has been computed
    String result = future.get();
    service.shutdown();
    System.out.println(result);
}
于 2013-04-14T07:43:49.437 に答える