代码摘自《Java 线程》
public class BusyFlag {
protected Thread busyFlag = null;
public void getBusyFlag() {
while (busyFlag != Thread.currentThread()) {
if (busyFlag == null) {
busyFlag = Thread.currentThread();
}
try {
Thread.sleep(100);
} catch (Exception e) {
// TODO: handle exception
}
}
}
public void freeBusyFlag() {
if (busyFlag == Thread.currentThread()) {
busyFlag = null;
}
}
}