线程同步,售票系统,4个窗口售票,不允许重票、错票。
函数接口定义:
在这里描述函数接口。例如:
class SellThread implements Runnable
在这里解释接口参数。例如:其中 N
和 D
都是用户传入的参数。 N
的值不超过int
的范围; D
是[0, 9]区间内的个位数。函数须返回 N
中 D
出现的次数。
裁判测试程序样例:
public class Main { public static void main(String args[]){ SellThread st=new SellThread(); new Thread(st).start(); new Thread(st).start(); new Thread(st).start(); new Thread(st).start(); } } class SellThread implements Runnable{ //略 }
输入样例:
在这里给出一组输入。例如:
输出样例:
在这里给出相应的输出。例如:
sell tickets: 10
sell tickets: 9
sell tickets: 8
sell tickets: 7
sell tickets: 6
sell tickets: 5
sell tickets: 4
sell tickets: 3
sell tickets: 2
sell tickets: 1
代码长度限制
16 KB
时间限制
400 ms
内存限制
同步锁的使用
class SellThread implements Runnable{
private int ticketnum = 10;
public void run() {
while(ticketnum>0){
//同步锁
synchronized(this){
if(ticketnum > 0 ){
System.out.println("sell tickets: "+ticketnum);
ticketnum--;
}
}
}
}
}