一个简单日常生活小例子,用Future带你了解多线程

发布时间:2024-11-24 17:59

《简单生活:一种哲学,一种生活方式》:书中分享了许多简单快乐生活的实例和理念。 #生活乐趣# #日常生活趣事# #简单快乐的生活哲学# #简单生活哲学书籍#

最新推荐文章于 2023-03-17 08:44:41 发布

java小当家 于 2019-04-27 18:23:07 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

import java.util.concurrent.*; public class FutureCook { public static void main(String[] args) throws InterruptedException, ExecutionException { long startTime = System.currentTimeMillis(); // 第一步 网购厨具 /*Callable<Chuju> onlineShopping = new Callable<Chuju>() { public Chuju call() throws Exception { System.out.println("第一步:下单"); System.out.println("第一步:等待送货"); Thread.sleep(10000); // 模拟送货时间 System.out.println("第一步:快递送到"); return new Chuju(); } }; FutureTask<Chuju> task = new FutureTask<Chuju>(onlineShopping); new Thread(task).start(); // 第二步 去超市购买食材 Thread.sleep(2000); // 模拟购买食材时间 Shicai shicai = new Shicai(); System.out.println("第二步:食材到位"); // 第三步 用厨具烹饪食材 if (!task.isDone()) { // 联系快递员,询问是否到货 System.out.println("第三步:厨具还没到,心情好就等着(心情不好就调用cancel方法取消订单)"); } Chuju chuju = task.get(); System.out.println("第三步:厨具到位,开始展现厨艺"); cook(chuju, shicai); System.out.println("总共用时" + (System.currentTimeMillis() - startTime) + "ms");*/ } // 用厨具烹饪食材 static void cook(Chuju chuju, Shicai shicai) {} // 厨具类 static class Chuju {} // 食材类 static class Shicai {} }

以上就是一个小例子,直接拷贝运行

另外我们还可以用以下代码实现多线程:通过lamda表达式

ExecutorService executor = Executors.newCachedThreadPool();

Future<Chuju> future = executor.submit(() -> { //Lambda 是一个 callable, 提交后便立即执行,这里返回的是 FutureTask 实例 System.out.println("running task");

Thread.sleep(10000); return new Chuju; });

if(!future.isDone()){

System.out.println("再等等厨具还没到");

future.get();

}

executor.shutdown();

网址:一个简单日常生活小例子,用Future带你了解多线程 https://www.yuejiaxmz.com/news/view/240183

相关内容

雅思写作大作文解析:不用科技,生活会更简单吗?
NFC技术及在日常生活中的应用 你了解多少?(图文)
30个简单实用日常生活小常识
日常生活中创新小例子
日常保洁多久做一次?一文带你深入了解
40个简单实用生活小窍门 一招一个准
Java多线程做压力测试
日常生活小窍门大全(日常生活居家生活10个小妙招,简单又实用,让你的家焕然一新)
60个超实用的日常生活小技能,过日子简单又轻松!
在我们的日常生活中,有许多简单又实用的生活小技巧

随便看看