verysu 设计模式 设计模式 响应式编程 百度开发平台 codeforces leetcode usfca

导航

java线程

实现Callable接口,通过FutureTask包装器来创建线程,线程池
Callable接口可以提供返回值,比如卖票,卖完了以后可以return一个值回来
需要new一个FutureTask<>对象 泛型是返回值类型
然后通过Thread对象启动传入task对象
实现Callable接口的线程对象可以有返回值,返回值如何接收
使用FutureTask<返回值类型> 对象 对象.get可以获取该线程对象的返回值
public class Cow implements Callable{
private Integer age;
@Override
public String call() throws Exception {
return "go go go";
}
public static void main(String[] args) {
FutureTask<String> task = new FutureTask<String>(new Cow());
new Thread(task).start();
try {
System.out.println(task.get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}

设置线程名称的方式

 

 

Spring 框架提供的 CustomizableThreadFactory

Google guava 工具类 提供的 ThreadFactoryBuilder ,使用链式方法创建

Apache commons-lang3 提供的 BasicThreadFactory

 

posted on 2020-01-08 09:33  泳之  阅读(109)  评论(0编辑  收藏  举报

我是谁? 回答错误