安卓主进程等待多个子进程做完任务有什么优雅的设计模式吗?
資深大佬 : kerb15 2
一个 App 中运行了 4 个进程,包括主进程和 ABC 三个子进程。
主进程通知 ABC 同时去做一件写文件的任务,当 ABC 都做完时再回来告诉主进程,主进程对生成的文件进行压缩。
现在想到的笨方法无非就是一个变量去记录 ABC 是否已经完成,比如 000 表示都没完成,111 表示都完成了。
有没有老哥做过类似的案例,有什么奇思妙想吗?
大佬有話說 (30)
一个 App 中运行了 4 个进程,包括主进程和 ABC 三个子进程。
主进程通知 ABC 同时去做一件写文件的任务,当 ABC 都做完时再回来告诉主进程,主进程对生成的文件进行压缩。
现在想到的笨方法无非就是一个变量去记录 ABC 是否已经完成,比如 000 表示都没完成,111 表示都完成了。
有没有老哥做过类似的案例,有什么奇思妙想吗?
每个进程都用一个线程监控,Process 等待结束之后用 CountDownLatch 通知主进程的主线程。这种方法可以做到 “实时” 监控所有进程的情况。也可以用其他的工具,但我觉得 CountDownLatch 是最直接且直观的。
但是不管怎么样,主进程里做计数是跑不掉的(