相关疑难解决方法(0)

如何知道其他线程是否已完成?

我有一个名为的方法的对象StartDownload(),它启动三个线程.

如何在每个线程执行完毕后收到通知?

有没有办法知道一个(或全部)线程是完成还是仍在执行?

java multithreading

121
推荐指数
3
解决办法
18万
查看次数

如何在不关闭Executor的情况下等待ThreadPoolExecutor中的所有任务完成?

我无法使用shutdown(),awaitTermination()因为有可能在等待时将新任务添加到ThreadPoolExecutor中.

所以我正在寻找一种方法,等待ThreadPoolExecutor清空它的队列并完成所有任务而不停止在该点之前添加新任务.

如果它有任何区别,这适用于Android.

谢谢

更新:几周后重新访问后,我发现在这种情况下修改后的CountDownLatch对我来说效果更好.我会保留答案标记,因为它更适用于我的要求.

java multithreading android wait threadpoolexecutor

60
推荐指数
3
解决办法
6万
查看次数

如何在Java中等待完成多个任务?

在Java应用程序中实现并发的正确方法是什么?我知道Threads和东西,当然,我已经为Java编程了10年了,但是并没有太多的并发经验.

例如,我必须异步加载一些资源,并且只有在加载完所有资源之后,我才能继续并做更多的工作.不用说,他们没有完成任务的顺序.我该怎么做呢?

在JavaScript中,我喜欢使用jQuery.deferred基础设施

$.when(deferred1,deferred2,deferred3...)
 .done(
   function(){//here everything is done
    ...
   });
Run Code Online (Sandbox Code Playgroud)

但是我在Java中做什么?

java concurrency multithreading

9
推荐指数
3
解决办法
5106
查看次数