62,614
社区成员
发帖
与我相关
我的任务
分享
public class Test {
public static void main(String[] args) throws Exception{
ShareObj obj = new ShareObj(5);
new MyThread(obj).start();
for(int i=0; i<3; i++) {
// TimeUnit.SECONDS.sleep(1);
new MyThread(obj).start();
}
}
}
class ShareObj {
private int sec;
public ShareObj(int sec) {
super();
this.sec = sec;
}
public synchronized void doSomething() throws Exception {
System.out.println(Thread.currentThread().getName());
TimeUnit.SECONDS.sleep(sec);
sec = 0;
}
}
class MyThread extends Thread {
private ShareObj obj;
public MyThread(ShareObj obj) {
super();
this.obj = obj;
}
@Override
public void run() {
try {
obj.doSomething();
} catch (Exception e) {
e.printStackTrace();
}
}
}