Java 2线程正在休眠

时间:2017-04-24 09:22:02

标签: java multithreading

我想多次启动一个线程,而不是在需要在自己的线程中调用我的函数时创建新的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秒内没有任何事情发生。然后所有按钮都被禁用并快速启用。

0 个答案:

没有答案