【发布时间】:2020-07-22 00:10:17
【问题描述】:
使用 Executor Service 我需要运行 10 个线程。这些线程中的每一个都应该以毫秒为单位打印当前时间,我需要确保所有这些线程总是打印完全相同的时间。 我曾尝试使用 CyclicBarrier,但它不起作用。
有可能吗?
【问题讨论】:
-
能否请您添加一个您的最佳尝试的代码示例?
-
预先捕获时间值,将其提供给所有线程并让它们打印出来。现在按照要求“所有线程总是在完全相同的时间打印”。当然,运行 10 分钟后,它们仍会打印开始时间,但您确实说过它们应该始终打印 same 时间。
-
正如@Andreas 所说,肯定的方法是所有线程都从同一源获取“当前”时间。只要你确保他们都这样做,他们可能会刷新他们的时间(在 10 分钟或更早之后)。
标签: java multithreading datetime threadpool executorservice