已采纳回答 / 浩瀚银汉
第一个问题:并发时的时刻其实指的是某个很短的时间,当系统只有一个内核时,系统在某个时刻确实只能执行一个线程,大多数系统都用的是时间片轮换算法,就是多个进程在分配到的极短时间...
2018-03-01
最新回答 / Destiny_Ly
nong.keepRunning=false的时候,农名的线程还在while里面执行for循环,所以才会输出for循环剩余的2,3,4,5.等到下一次做while判断的时候,发现keepRunning标志为false了,才会结束线程。如果想把程咬金结束战争的字幕打印到最后,可以sleep一下主线程,或者调用sui和nong线程的join()方法。
2018-01-26
最新回答 / 慕仰6539668
你把 第二个类写到第一个类里面了public class XXX{class XXX{}} 这个错误public class XXX{}class XXX{} 这个正确
2018-01-23
已采纳回答 / 慕瓜3357229
如果都继承了Thread类的前提下,两种方式都可以创建一个线程对象,一般我们是使用第一种方式来创建线程对象(向上造型);PS:你的第二种方式是调用run方法,比不是让线程进入就绪状态(start());
2017-12-29
最赞回答 / 若如初见1997
你要知道 在ArmyRunnable 类 中 while(keepRunning) 这里是用的while 而不是if,while会一直判断,if只会判断一次,就是你在ArmyRunnable中的初始值!
2017-12-26
最新回答 / 姓白名黑
其他线程处于就绪队列,等待抢占资源,而wait是进入等待队列不能抢占资源,如果没有wait,那么条件不足的线程不进入等待队列而是进入就绪队列,这样的话该线程就有可能再一次进行同步锁进入退出的操作,这就是所谓的加大开销。
2017-11-15