关闭

多线程安全问题

标签: 多线程
206人阅读 评论(0) 收藏 举报
分类:

多线程安全问题

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();
}
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:137551次
    • 积分:2953
    • 等级:
    • 排名:第11873名
    • 原创:168篇
    • 转载:11篇
    • 译文:0篇
    • 评论:49条
    最新评论