最赞回答 / Zhenyu1990
个人理解为在Stage类的run()中<...code...>之后的<...code...>这句代码起到了作用,也就是说在两军交战的50ms之内stage线程处于休眠不会参与到对处理器的竞争中,而50ms的休眠时间过后,stage线程参与竞争处理器使用,将keepRunning设为false,结束军队的两个线程。不知理解的对不对,还请指正。
2015-06-29
例子的蛋疼点在于,没有强调舞台、隋军、农民军是三个线程,舞台线程用于调度后者,关于线程特性和用法讲的确实不错,但线程到底是什么,其实没有说清楚。 线程其实就是用户自己定义的任务,所以才需要覆写run方法,或者用runnable初始化线程。这句话理解的人看来很简单,但对于刚入门的新手来说,却会被线程的众多特性所迷惑,而不知道线程到底是什么,造成理解上的困难
2015-06-25
最新回答 / sunyx
不能这样写,set集中不一定只有在等待lockObj的线程,还会有lockAAA等等之类的。所以准确的描述就是//唤醒所有在等待lockObj对象的线程
2015-06-18