【发布时间】:2021-12-29 22:19:47
【问题描述】:
我有一个班级商店。在 main 中,我在 main 中创建了 3 个商店对象
Thread thread1 = new Thread(shop1);
Thread thread2 = new Thread(shop2);
Thread thread3 = new Thread(shop3);
threads.add(thread1);
threads.add(thread2);
threads.add(thread3);
for (Thread t : threads) {
t.start();
}
shop类中的run方法
@Override
public void run() {
for(int day=0;day<=360;++day) {
if (day% 30 == 0) {
delivery();
}
CODE...
}
}
我希望线程每 30 天同步一次。所以每 30 天线程都在等待对方。
使用 Thread.join() 是最简单的,但是当我在 run() 中时如何使用它。
我也在考虑做而不是 360 天,12 次 30 天
public void run() {
for(int day=0;day<30;++day) {
if (day% 30 == 0) {
delivery();
}
CODE...
并在main join()中使用,但是如何重新启动该方法时出现问题。
我可以做些什么来同步这个?
【问题讨论】:
标签: java multithreading synchronize