多线程之Callable
2024-09-07 23:53:24
多线程实现Callable的好处有三点
1、Callable支持泛型
2、Callable支持返回值
3、Callable可以抛出异常
class MyThread2 implements Callable {
public String name; public MyThread2(String name) {
this.name = name;
} @Override
public Object call() throws Exception {
for (int i = 0; i < 4; i++) {
System.out.println("这是线程" + this.name + ":" + i);
}
return name + "执行完成";
}
} public class ThreadDemo {
public static void main(String[] args) {
MyThread2 myThread1 = new MyThread2("线程A");
MyThread2 myThread2 = new MyThread2("线程B");
FutureTask futureTask1 = new FutureTask(myThread1);
FutureTask futureTask2 = new FutureTask(myThread2);
new Thread(futureTask1).start();
new Thread(futureTask2).start();
try {
Object o1 = futureTask1.get();
System.out.println(o1);
Object o2 = futureTask2.get();
System.out.println(o2);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
} }
}
最新文章
- MySQL基础知识和操作(一)
- iOS 疑难杂症 — — Swift debugger 无法在控制台 po 变量值的问题
- 实现携程X分钟前有人预定功能
- partproble在RHEL 6下无法更新分区信息
- webservice的简单示例的实现步骤
- UNIX网络编程-recv、send、read、write之间的联系与区别
- GDC2016【彩虹六号:围攻 】使丰富的“突破”成为可能的破坏系统
- isPowerOfTwo
- iOS验证码倒计时(GCD实现)
- bzoj2738
- Servlet &; JSP - Decorating Requests and Responses
- js推断元素是否隐藏
- java中的Set的使用以及各种遍历方法(较为全面)
- WebServerice的发布
- 关于css那些常用却有点记不住的属性
- SQL 增加列、修改列、删除列
- 学习Spring Boot:(二十七)Spring Boot 2.0 中使用 Actuator
- 【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)
- 错误:“Cannot load JDBC driver class &#39;com.mysql.jdbc.Driver”的解决方法
- 【转】Keil ARM开发 error L6236E错误解决
热门文章
- ThreadLocal源码分析与实践
- APP自动化-环境安装
- 使用redis来调用iptables,封禁恶意IP
- springboot+mybatis集成分页功能
- Book of Shaders 04 - 网格噪声:Worley Noise
- Python中matplotlib.pyplot.imshow画灰度图的多种方法
- matlab中drawnow更新图窗并处理回调
- IntelliJ IDEA Commons IO环境搭建
- ThreeJS系列1_CinematicCameraJS插件详解
- Go path/filepath包