我想多次启动一个线程,而不是在需要在自己的线程中调用我的函数时创建新的Thread evrytime。这就是为什么我调用.run而不是.start的原因,因为.start只能被调用一次。 那么如何解决我的问题?
我有一个UI-Programm,按下任何按钮后想要...
...第一个线程禁用所有按钮
...第二个线程启用按钮,接下来应按下按钮。
所以我在第一个线程中有一个禁用所有按钮的方法,然后运行它。
然后我运行第二个启用按钮的线程。第二个线程休眠5秒,然后启用按钮。
Thread updateUIthread, disableUIthread;
Runnable disableUIrun = new Runnable() {
@Override
public void run() {
disableUserInput();
}
};
Runnable updateUIrun = new Runnable() {
@Override
public void run() {
updateUIinteraction();
}
};
public void updateUIinteraction() {
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(VorgangController.class.getName()).log(Level.SEVERE, null, ex);
}
// enable buttons
}
//当我需要它时:
disableUIthread.run();
updateUIthread.run();
但是当我按下按钮时,效果是两个线程都在睡觉。 5秒内没有任何事情发生。然后所有按钮都被禁用并快速启用。