最新回答 / 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
最赞回答 / 若如初见1997
你要知道 在ArmyRunnable 类 中 while(keepRunning) 这里是用的while 而不是if,while会一直判断,if只会判断一次,就是你在ArmyRunnable中的初始值!
2017-12-26
最新回答 / 姓白名黑
其他线程处于就绪队列,等待抢占资源,而wait是进入等待队列不能抢占资源,如果没有wait,那么条件不足的线程不进入等待队列而是进入就绪队列,这样的话该线程就有可能再一次进行同步锁进入退出的操作,这就是所谓的加大开销。
2017-11-15
最赞回答 / 福工刘德华
实际上这个线程不止一个,还有一个线程是负责启动main负责启动每一个线程,而main中的那个Thread.sleep是使main线程休眠,而run方法中的sleep是让实例化的那条线程休眠,而你在main方法中用interrupt停止实例化的那条线程就会导致api里面所谓的报错,我认为你是错将main方法中的停止main线程的Thread.sleep认为是停止实例化的那条线程,导致这种疑问出现
2017-11-13
最新回答 / Queen丶Star
大兄弟,那不是快捷键,,那是视频剪辑的问题,不是点了thread 后弹出来的方法补充。 继承一个类也基本不会出现一个方法继承的警告吧,如果你说要快速, 你可以直接写一个run 智能提示alt+/ 能帮你快速生成。。。
2017-11-08
最赞回答 / 幕布斯1198628
个人理解:Thread.currentThread() 获得当前正在运行的线程的引用。如果是通过继承Thread类实现多线程,则this就是当前正在运行的线程的引用,this.setName()可以直接设置线程的名字。但如果是实现Runnable接口,类中就没有继承Thread的方法,不能使用this.setName()。
2017-10-19