线程没有睡觉我有问题.
我不能把我的整个代码放在这里.所以,为了重现,这里是一个等待5秒的基本代码.
try {
int millisec = 5000;
System.out.println(new Date());
System.out.println("We wait " + millisec + " milliseconds");
Thread.sleep(millisec);
System.out.println(new Date());
} catch (Exception e) {
e.printStackTrace();
}
输出:
8月22日20:01:42 CEST 2013
我们等待5000毫秒
8月22日20:01:47 CEST 2013
一切都好.
但是当我把这段代码放在一个线程中时,没有睡觉.此代码示例:
try {
Thread aThread = new Thread(new Runnable() {
@Override
public void run() {
try {
int millisec = 5000;
System.out.println(new Date());
System.out.println("We wait " + millisec + " milliseconds");
Thread.sleep(millisec);
System.out.println(new Date());
} catch (Exception e) {
e.printStackTrace();
}
}
});
aThread.start();
} catch (Exception e) {
e.printStackTrace();
}
输出:
8月22日星期四20:07:30 CEST 2013
我们等待5000毫秒
……没有别的,线程终止了.
我不明白为什么.请问,有什么想法吗?
编辑:我使用Eclipse和JUnit进行测试.