public static void main(String[] args) {
MyRunnable mr = new MyRunnable();
new Thread(mr,"前门").start();
new Thread(mr,"后门").start();
}
}
class MyRunnable implements Runnable{
Hashtable<String, Integer> ht = new Hashtable<>();
int flag = -1;
public void run() {
while(true){
String name = Thread.currentThread().getName();
int index = getUnUsedIndex(); //返回一个还没有进入班级的同学的编号
if (index == -1) { //如果index=-1,表明全班人都进班了
if (flag == 0) {
System.out.println(ht);
break;
}
flag = 0;
break;
}
System.out.println("编号为:" + index + " 的同学从 " + name + " 进入了班级");
Random r = new Random();
ArrayList<Integer> al = new ArrayList<>();
//返回一个还没有进入班级的同学的编号
private int getUnUsedIndex() {
int index = r.nextInt(64)+1;
while(al.contains(index) && al.size()<64){
index = r.nextInt(64)+1;
}