最新回答 / Coda
有些时候是等效的,有些时候不可以的。使用Thread.currentThread().getName()和使用this.getName()都可以得到线程的名称,但是使用this调用getName()方法只能在本类中,而不能在其他类中,更不能在Runnable接口中,所以只能使用Thread.currentThread().getName()获取线程的名称,否则会出现编译时异常。这种题一般多测试几种不同的情况可以得出的。
2015-03-13
讲师回答 / Arthur
你得结果也是正常的。简单说只有Running的线程拥有CPU,CPU时间片用完就释放。这就是为什么还没调用sleep(),另一个线程就执行了。要把整个问题说清楚需要了解Java线程的状态及迁移的知识。你可以参考慕课上的《细说Java多线程》
2015-02-21
讲师回答 / Arthur
用了volatile,你在这里写入keepRunning的值,run里面的while才能结束。不用volatile,run里面的while很有可能停不下来。具体你可以去Wiki看看。
2015-02-21
已采纳回答 / Arthur
我记得没错的话是Ctrl + C, Ctrl + V... 我从其他的代码库里考过来讲课的:)for是有快捷键的,但我不怎么用,因为出来的东西还得自己改,索性就不用了。想要知道的话,建议自己选那个Google, eclipse shortcut for loop.
2015-02-08