例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();
}
}
}
};
http://www.5itjob.com
http://www.rjpx.net

浙公网安备 33010602011771号