讲师回答 / Arthur
这个问题业界有结论,你记住就是了。还有我那不叫死循环,而是做了一个无限循环,目的是不把线程当人使,让它一直工作。当我哪天发慈悲了,可以很轻松的让它停。
2015-04-06
已采纳回答 / 源代码_思无邪
你的理解很对:当某个线程使用join()方法加入到另一个线程时,另一个线程会等待该线程执行完毕后再继续执行。程咬金线程通过join()方法加入到舞台线程,所以只有舞台线程会等待。隋军和农民军线程的结束,是在舞台线程中加入armyTaskOfSuiDynasty.keepRunning = false; armyTaskOfRevolt.keepRunning = false;然后舞台线程又sleep(2000),让隋军和农民军线程结束最后一轮(while()循环),让程咬金线程独自执行。
2015-04-05
最新回答 / Coda
有些时候是等效的,有些时候不可以的。使用Thread.currentThread().getName()和使用this.getName()都可以得到线程的名称,但是使用this调用getName()方法只能在本类中,而不能在其他类中,更不能在Runnable接口中,所以只能使用Thread.currentThread().getName()获取线程的名称,否则会出现编译时异常。这种题一般多测试几种不同的情况可以得出的。
2015-03-13