当前位置: 首页 > news >正文

JAVA细节/小技巧

一、

Callable类可以实现返回结果的多线程。实现Callable类,然后实例化一个对象传递给FutureTask,然后把FutureTask对象传递给Thread对象,执行start即可开始多线程。FutureTask对象执行get函数可以获得Callable类中call函数的返回值,前提是call执行完毕了。

因此,假如call运行时间特别长,执行start后没执行完,此时在另一个线程里执行get语句,整个线程就会开始停止,等待。

例如:

new Thread(f1).start();
System.out.println(f1.get());
for(int i=0;i<10;i++){System.out.println("主线程"+i);
}

如果call函数执行时间特别长,例如你强行sleep20秒,那么底下主线程的打印部分就要20秒后才会执行。如果你把System.out.println(f1.get());这一行去掉,那么即使call函数要执行一万年,也不影响主线程去进行打印。

http://www.lryc.cn/news/115805.html

相关文章:

  • jmeter如何压测和存储
  • 一个月学通Python(三十三):Python并发编程在爬虫中的应用
  • HCIP——STP
  • 【数据结构】“单链表”的练习题
  • 项目实战 — 消息队列(5){统一硬盘操作}
  • 【2.2】Java微服务:Hystrix的详解与使用
  • 【PYTHON】WebSocket服务端与客户端通信实现
  • Runloop 的五种mode
  • C++头文件使用精要
  • Flink之SideOutput(数据分流)
  • Android Studio新版本logcat过滤说明
  • carsim与matlab仿真
  • rust里如何快速实现一个LRU 本地缓存?
  • MQTT 订阅接收消息 mosquitto 方式
  • 以mod_jk方式整合apache与tomcat(动静分离)
  • springboot动态数据源切换
  • 代码随想录训练营day14
  • 功能测试进阶自动化测试如何摸清学习方向,少走弯路呢?
  • 检测前端是否可以ping通后端返回的ip地址
  • SMART司马他法则(目标管理)
  • 【LeetCode】删除并获得点数
  • SciencePub学术 | 传感器类重点SCIE征稿中
  • 移动端开发基础总结
  • 小X学游泳(深搜)
  • 分布式协议与算法——拜占庭将军问题
  • MySQL数据库管理的基本原则和技巧
  • SQL-每日一题【1193. 每月交易 I】
  • 探析青少年口才训练在个人发展中的重要性与影响
  • HTML 元素的 class 和 id 属性有何区别?
  • 关于GKPhoto点击放大没有图片只有缺省图