码迷,mamicode.com
首页 > 其他好文 > 详细

Thread Future模式

时间:2019-06-24 19:39:56      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:ble   res   ext   stat   exec   code   col   ati   tor   

多线程不管是extends Thread 还是 implements Runnable 都是要重写run 方法来实现,这两种方式子线程都没有返回值。

如果要实现主线程对子线程的监听,让子线程有返回值,可以用implememts Callable<T> 方式:

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

public class App6 {
    public static void main(String[] args) throws Exception {
        ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();
        Future<String> submit = newCachedThreadPool.submit(new TaskCallable());
        String result = submit.get(); //获取返回值
        System.out.println(result);
    }

}

class TaskCallable implements Callable<String>{
    @Override
    public String call() throws Exception {
        System.out.println(Thread.currentThread().getName());
        return "Hello World";
    }
}

 

Thread Future模式

标签:ble   res   ext   stat   exec   code   col   ati   tor   

原文地址:https://www.cnblogs.com/pickKnow/p/11078908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!