最新回答 / qq_呆到深处自然萌_14391019
return后该线程还会继续和其他线程一起竞争资源,这样无形之间增加了上锁的系统开销,用wait的话直接到waitset等待唤醒。
2017-04-17
最新回答 / heguyChen
能否发一下完整代码,我按照你的描述测试完,总能量一直是不变的,转移的能量也是在同步代码当中进行,也真的加到了目标能量盒当中。不知道你的跳跃输出是由于什么,睡眠时间的问题还是代码的问题?
2017-04-06
最赞回答 / 彪子的刀子
当调用了wait方法后,线程是先释放掉了锁才进入了wait set的,当调用notify方法唤醒wait set里的线程后,线程获得cpu资源则会重新去获取锁,重新去判断条件,而不是处在之前没有满足条件的状态。
2017-04-04
最新回答 / kuhaku_
thread调用了interrupt()方法, 并不是如字面意义上就会将线程终止, 而是将线程的终止状态设置为true, 使isInterrupted()方法返回ture, 而这个时候while循环里的判断条件又没有提到isInterrupted()方法, 所以即使thread调用了interrupt()方法, 对这个循环也没有任何影响啊, 所以线程还是会一直执行下去
2017-03-29
最新回答 / qq_fearless_6
http://www.cnblogs.com/zhengbin/p/5654805.html 这个解释比较好, 我个人理解是:不使用volatile可能会造成,赋值在主线程之后,会导致while循环中的条件判断值第一时间不是正确值,导致多余的循环次数
2017-03-19