如题求问:
测试类如下: public class TestThread {
// @Test
// public void test(){
// MyList myList = new MyList();
// new ThreadA(myList).start();
// new ThreadB(myList).start();
// }
public static void main(String[] args) {
MyList myList = new MyList();
new ThreadA(myList).start();
new ThreadB(myList).start();
}
}
带有 sleep()的类如下: public class ThreadA extends Thread {
protected static Logger logger = LoggerFactory.getLogger(ThreadA.class);
private MyList list;
public ThreadA(MyList myList){
this.list=myList;
}
@Override
public void run() {
try {
for (int i = 0; i <10 ; i++) {
list.add();
logger.info("添加了"+(i+1)+"个元素");
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
用 @Test 启动测试程序,代码走到 sleep()就回停止,而用 main 启动就正常,这是为什么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.