小编Kai*_*ear的帖子

主题:忙等待 - 空的 While 循环

在大学的课程中,我们学习Threads并使用了“忙等待”方法作为CarTrafficLight. 对于这个任务,我们构建了三个类:

  • TrafficLight (implements Runnable)
  • Car (implements Runnable)
  • Main

在我们的Main班级中,我们开始了两个Threads,一个是Car,一个是TrafficLight。在Car具有布尔属性hasToWaitrun()此类中的方法的工作方式是,while只要hasToWait == true. 为了改变这一点,我们notifyCar()Car类中有一个方法,它被TrafficLight. 中的run()方法TrafficLight通过aThread.sleep()来模拟一定的等待时间。

在我的教授那里一切正常,但最终我遇到了严重的问题。只要类中的while循环Car为空。当我把一个System.out.println()-这是不是空的,它的工作原理。但如果Syso 为空,则结果是不显示方法的Text Run。当Thread.sleep()inTrafficLight0. 比它适用于空while循环。

这是我的代码:

汽车.java:

package trafficlight;

public class Car implements Runnable …
Run Code Online (Sandbox Code Playgroud)

java eclipse multithreading busy-waiting

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

busy-waiting ×1

eclipse ×1

java ×1

multithreading ×1