`
825197453
  • 浏览: 101098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java线程售票同步

阅读更多
java线程的一道题
有100张票 四个售票窗口 每个窗口代表一个线程
public class Test7 {
	public static void main(String[] args) {
		SaleTicket t = new SaleTicket();
		Thread t1 = new Thread(t);
		Thread t2 = new Thread(t);
		Thread t3 = new Thread(t);
		Thread t4 = new Thread(t);
		t1.start();
		t2.start();
		t3.start();
		t4.start();
		} 


}
 
public class SaleTicket implements Runnable {
	private int tickets = 100;

	public void run() {
		while (true) {
			synchronized (this) {
				System.out.println(this.getClass());
				if (tickets > 0) {
					try {
						Thread.sleep(10);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					Thread t = Thread.currentThread();
					System.out.println(t.getName() + "卖出车票:" + tickets);
					tickets--;
				} else {
					break;
				}
			}
		}
	}
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics