class queue {
int avail = 0; int seq = 0;
synchronized int get() {
while (avail == 0)
wait ();
avail--;
return ++seq;
}
synchronized void put() {
avail++;
notifyall ();