public class test001 implements Runnable {
Timer timer = new Timer();
public static void main(String[] args) {
test001 t01 = new test001();
test001 t02 = new test001();
Thread t1 = new Thread(t01);
Thread t2 = new Thread(t02);
t1.setName("t1");
t2.setName("t2");
t1.start();
t2.start();
}
public void run() {
timer.add(Thread.currentThread(). getName());
}
}
class Timer {
private static int num = 0;
public void add(String name) {
synchronized(this) {
num++;
try{
Thread.sleep(1);
} catch(InterruptedException e){}
System.out.println(name + "你是第 " + num +"个使用线程");
}
}
}
执行后的结果是:
t1你是第 2个使用线程
t2你是第 2个使用线程
我想要的结果是:
t1你是第 1个使用线程
t2你是第 2个使用线程
各位大神怎么修改
Timer timer = new Timer();
public static void main(String[] args) {
test001 t01 = new test001();
test001 t02 = new test001();
Thread t1 = new Thread(t01);
Thread t2 = new Thread(t02);
t1.setName("t1");
t2.setName("t2");
t1.start();
t2.start();
}
public void run() {
timer.add(Thread.currentThread(). getName());
}
}
class Timer {
private static int num = 0;
public void add(String name) {
synchronized(this) {
num++;
try{
Thread.sleep(1);
} catch(InterruptedException e){}
System.out.println(name + "你是第 " + num +"个使用线程");
}
}
}
执行后的结果是:
t1你是第 2个使用线程
t2你是第 2个使用线程
我想要的结果是:
t1你是第 1个使用线程
t2你是第 2个使用线程
各位大神怎么修改