JDK5.0 新機能:java.util.concurrentパッケージ2、Callableインタフェース

「12.2. Callableインタフェース」

まんま

import java.util.Date;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.Executors;

public class C2008093000 implements Callable<Date> {
    public Date call() throws Exception {
        Thread.sleep(1000);
        return new Date();
    }
    
    public static void main(String[] args){
        ExecutorService ex = Executors.newSingleThreadExecutor();
        Future<Date> future = ex.submit(new C2008093000());
        try {
             Date date = future.get();
             System.out.println(date);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
        ex.shutdown();
    }
}

で、

Tue Sep 30 18:30:32 JST 2008