我正在尝试运行一些代码,这些代码将在 100 毫秒后启用变量,再等待 100 毫秒,然后禁用它
我尝试使用 2 个计时器,并创建一个新线程并将其休眠。这两种解决方案都会导致主线程挂起一秒钟左右。
我用于计时器的代码:
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
PlayerControl.MoveForward = false;
}
},
100
);
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
PlayerControl.MoveForward = true;
}
},
200
);
对于线程方法:
new Thread(() -> {
Thread.sleep(100);
PlayerControl.MoveForward = false;
Thread.sleep(100);
PlayerControl.MoveForward = true;
})
我期望这两个结果都等待 100 毫秒,将变量设置为 false,等待 100 毫秒,然后再次将其设置为 true,对过程的其余部分没有影响。为什么会发生这种情况,我应该怎么做?
翻过高山走不出你
明月笑刀无情
相关分类