我有一个java多线程环境的需求。问题是这样的;
我假设有 10 个不同的任务,并且我想将所有这 10 个任务分配给 10 个不同的线程。现在这些任务的完成时间可能会有所不同。当所有这 10 个线程都完成时,应该执行一些整理或清理任务。换句话说,我需要等到所有线程都完成,然后只有我可以继续执行进一步的代码。
如果此处需要更多详细信息,请告诉我。
谢谢, 阿什什
最佳答案
听起来是 CountDownLatch 的理想工作.
用 10 次计数来初始化它,当每个线程完成其工作时,它会倒计数 1。
当所有 10 个线程都完成后,CountDownLatch
将使原始线程运行,并且它可以执行清理工作。
然后启动 ExecutorService有 10 个固定线程来运行任务。
关于java多线程用于任务之间的同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042432/