java 使用Callable和Future返回线程执行的结果
16lz
2021-01-22
我们可能在某些特殊的需求下需要返回一个线程执行的结果,在java 1.5提供了Callable和Futrue就能帮你实现!不解释看代码
package cn.kge.com;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class Demo2 {
public static void main(String[] args) {
ExecutorService threadPool = Executors.newSingleThreadExecutor();
Future<String> future = threadPool.submit(new Callable<String>() {
public String call(){
String str = "hello";
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return str+"world";
}
});
try {
System.out.println("执行结果:"+future.get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
执行结果:helloworld
更多相关文章
- Java多线程聊天对话框
- Android 多线程下载文件原理霸气解析介绍 (完结版)-----greendao
- Java多线程六:线程优先级和yield()让步函数
- java多线程爬虫
- javafx 和netty 混合使用出现线程不一致问题,求大神指点
- Java多线程之Thread、Runnable、Callable及线程池
- Java,Socket&TCP编程 实现多线程端对端通信与文件传输
- Java错误:线程“main”中的异常java.lang.ArrayIndexOutOfBoundsE
- Java并发面试题:三个线程轮流打印十次abc