gpt4 book ai didi

java - ExecutorService JProgressBar

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:10 25 4
gpt4 key购买 nike

这可能是一个简单的问题,但我尝试了很多不同的事情,无论我尝试什么,我都无法让它发挥作用。

基本上,我有一个 JProgressBar,我想在处理任务列表时更新它。任务很短,但是数量很多,这就是我使用 ExecutorService 的原因。

问题是我找不到一个好的方法来监听 ExecutorService 还剩多少任务需要处理。 invokeAll() 会阻塞,直到所有任务完成,如果我使用 Submit() 执行每个任务,那么当它到达 JProgressBar 的代码时,任务几乎已经完成。我什至尝试将两者交错,但这很糟糕。

是否有一种简单的方法来提交一批任务(实现可调用),然后调用开始处理的execute()方法?

或者我在这里看的方向完全错误?

谢谢!

最佳答案

您可以使用ExecutorCompletionService:http://download.oracle.com/javase/1,5.0/docs/api/java/util/concurrent/ExecutorCompletionService.html

文档页面上的示例非常好;)

基本上,您只需将任务提交到服务,然后轮询或接受。任务返回后,您可以更新您的 JProgressbar

关于java - ExecutorService JProgressBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com