已采纳回答 / 慕标7443549
这不就是时间差吗?long time就是当时运行到此时的当时时间,而while循环判断条件里面的是判断运行过程中的当前时间,当前时间和time的差值等于1000是不就跳出来循环了嘛
2017-11-13
已采纳回答 / 慕粉13718507713
你所谓的操作系统指的是啥?多线程在java中算是不太难的知识点了,主要可以通过类比去理解,比如超市,比如买票等,学线程重在理解,难在互斥和同步,不懂了,停下来想一想,或者看一个类似视频,慢慢理解了,就懂了
2017-08-07
已采纳回答 / 于太阳
Debug调试的时候输出就是0到99的顺序,不用Debug调试直接运行就不是0到99输出。大致可以理解为创建了所有的线程,再争用资源。调试的时候有断点,产生了优先级,所以才按序输出的。
2017-08-05
已采纳回答 / 慕粉2118219580
其实stage线程和军队线程之间是没有关系的,只是stage线程让军队线程开始执行而已。一个线程可以理解为一段代码,线程相互之间没有关系,除非对公共资源进行读取或修改
2017-08-03
已采纳回答 / 予别她
你这个方法没有定义返回值,然后if条件语句里面那个return不能跳出循环,输出演出结束那句话永远也到不了,所以程序会报错,可以把return改成break就好了
2017-08-03
已采纳回答 / FarFromAnyRoad
两个军队的线程都停止。舞台并没有停止join()应该就是阻塞(这个不结束,不继续运行),你不阻塞,线程程咬金还在运行,调用线程的舞台就结束了
2017-07-20
已采纳回答 / 蒂谷
估计你是想问农民军和隋军的线程运行了多久,这个的话就貌似跟舞台线程的休眠时长有关。Thread.sleep(5)那里。休眠的越久,就战斗的越久,执行到keepRunning = false的时间就越长。反之越短
2017-07-18
已采纳回答 / 黄子衣
解释:当线程1将piao()方法调入栈中执行时,线程2也将piao()方法调入栈中执行,但是由于piao()方法被锁所以线程2处于等待,然而此时线程2已经读取了内存中的 x 的值,所以当线程1执行完成虽然修改了 x 的值,但是由于线程2已经读取了 x 的值,所以修改后的 x 的值并没有被线程2读取。注意:1、可以给x添加volatile修饰符,这样线程就能读取正确的值 2、一般情况下对于并发共享的类最好不要拥有状态,容易出现并发问题
2017-06-14