当我触发“等待”命令时,我想要暂停 1000 毫秒。例如,如果我的脚本包含以下内容:
print("first message")
wait()
print("second message <after the delay>")
我希望两条消息之间有 1000 毫秒的延迟。
但是,我的问题是它将整个应用程序冻结 1000 毫秒,然后同时触发两条消息。
这是我的代码:(我一直在这个网站上搜索解决方案,遇到了多个答案,说我需要创建自己的单独线程才能做到这一点:
if(command.equals("wait")) {
MyRunnable myRunnable = new MyRunnable();
Thread t = new Thread(myRunnable);
t.start();
}
这是我单独的线程内部类:
public class MyRunnable implements Runnable {
public MyRunnable() {
try {
Thread.sleep(2000);
} catch (Exception e) {}
}
public void run() {
try {
Thread.sleep(2000);
} catch (Exception e) {}
}
}
我究竟做错了什么?
编辑:打印语句工作正常,这就是我将它们排除在外的原因。但是我是java新手,我注意到run()语句不起作用,所以我把它放在构造函数中