java 线程安全

当多个线程在操作同一段代码的时候,其中的一个线程只执行了一部分,没有执行完成而另一个线程又参与进来了,就有可能出现线程安全问题:

代码如下:

package com.chnsys.thread1;

public class JavaResearch01 {
	public static void main(String[] args) {
		Ticket t = new Ticket();
		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();
	}
}

class Ticket implements Runnable{
	private int tick = 100;
	@Override
	public void run() {
		// TODO Auto-generated method stub
		while(true){
			if(tick>0){
				try {
					Thread.sleep(10);
				} catch (Exception e) {
					// TODO: handle exception
				}
				System.out.println(Thread.currentThread().getName()+" sell: "+tick--);
			}
		}
	}
	
}

  

posted @ 2012-09-06 13:36  ligang305  阅读(132)  评论(0编辑  收藏  举报