例1: 创建四个线程对同一个数据操作,其中两个线程对该数据执行加1操作,两个线程对该数据减1操作

n 创建数据类

//数据类
class Data {
	private int k;
	public void add() {
		k++;
	}

	public void sub() {
		k--;
	}

	public int getK() {
		return k;
	}
}

 创建加数据的线程

//加数据的线程
class ThreadAdd extends Thread {
	//线程操作的数据
	Data data;

	public ThreadAdd(Data data, String name) {
		//给当前线程命名
		super(name);
		this.data = data;
	}

	//线程执行时所调用的方法
	public void run() {
		for (int i = 0; i < 20; i++) {
			data.add();
			//打印出哪个线程执行的加操作
			System.out.println(Thread.currentThread().getName() + "  "
					+ data.getK());
			//每循环一次,让该线程中断5毫秒
			try {
				Thread.sleep(5);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
};

 

posted @ 2012-03-12 15:04  JAVA教程  阅读(836)  评论(0编辑  收藏  举报