python3线程中submit方法如何使用?

2025-12-01 0 83,743

线程池里常驻嘉宾,就是submit方法,也是我们今天文章的主题,他经常被调用使用的原因之一即是需要到任务池里,获取内容并返回的,相信看到这里,也理解了开头小编跟大家说的为什么是常驻嘉宾的原因了吧,任何程序运行,总归都是需要有结果,作为结果的牵引线,自然是要经常调用的,那就一起来看下怎么用吧~

首先大家可以看一组案例,这是一个错误的堆栈,我们看下要用submit方法怎么输出内容。

代码演示:

ExecutorService service = Executors.newFixedThreadPool(1);
Runnable r = () -> System.out.println(1 / 0);
Future f = service.submit(r);
f.get();
service.shutdown();

使用submit 方式的解决方法

Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.ArithmeticException: / by zero
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.github.xjjdog.pool.AAA.main(AAA.java:20)
Caused by: java.lang.ArithmeticException: / by zero
at com.github.xjjdog.pool.AAA.lambda$main$0(AAA.java:16)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

我们都知道,Future在我们的线程池中使用并不频繁,其主要原因之一,就是容易我们的请求,因此如果在碰到因为这个内容,造成影响,不必过分担忧,只要学会了submit 方式很容易得到解决。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 python基础 python3线程中submit方法如何使用? https://www.zhiup.top/3462.html

相关