线程中的Callable和Future运用

来源:互联网 发布:韩国高分电影知乎 编辑:程序博客网 时间:2024/05/19 21:03
import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;import java.util.concurrent.TimeUnit;/** * 线程中的Callable和Future运用 * @author 谭飞 * @date 2012-02-03 */public class CallableAndFuture {/** * @param args */public static void main(String[] args) {ExecutorService threadPool = Executors.newSingleThreadExecutor();//创建单一线程池/*利用Future来接收Callable返回的结果*/Future<String> future = threadPool.submit(new Callable<String>(){@Overridepublic String call() throws Exception {Thread.sleep(100);return "我回来啦!";}});System.out.println("Future等待结果中...");try {System.out.println("Callable返回的结果是:" + future.get(1, TimeUnit.SECONDS));} catch (InterruptedException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}threadPool.shutdown();//关闭线程池}}

原创粉丝点击