多线程安全问题

多线程安全问题

package com.thread;

public class SyncTicketThread extends Thread {
	Object object = new Object();
	private static  int ticket =100;//模拟100张火车票
@Override
public void run() {
	while(true){
		synchronized (object) {
			if(ticket>0){
				try {
					Thread.sleep(10);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
				System.out.println(Thread.currentThread().getName()+"  "+(ticket--));
			}
		}
	}
}
public static void main(String[] args) {
	SyncTicketThread t1 = new SyncTicketThread();
	SyncTicketThread t2 = new SyncTicketThread();
	SyncTicketThread t3 = new SyncTicketThread();
	SyncTicketThread t4 = new SyncTicketThread();
	t1.start();
	t2.start();
	t3.start();
	t4.start();
}
}


阅读更多
文章标签: 多线程
个人分类: 多线程
上一篇创建多线程的第二种方法
下一篇顾客存钱到银行
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭