如果 Array 仅包含"1"
.
考虑数组的索引对应于线程索引,并且线程"1"
在完成工作时将相应的索引设置为。
我必须检查所有线程何时完成它们的工作,或者换句话说,当数组只包含"1"
.
我已经在“主要”中做到了
Object obj = new Object();
int[] flag = new int[] {0, 0, 0, 0, 0, 0};
int [] ss = new int[]{1, 1, 1};
for (int i = 0; i < flag.length; i++) {
new Thread(new MioThread(i, flag, ss, 1, 0, bw, obj)).start();
}
synchronized (obj) {
obj.wait();
}
虽然我在“运行”方法结束时完成了该操作:
synchronized (flag) {
flag[threadIndex] = 1;
boolean ok = true;
for(int i = 0; i< flag.length; i++){
if(flag[i] == 0)
ok = false;
}
if(ok) {
synchronized(obj) {
obj.notify();
}
}
}