为什么UI会冻结?

时间:2017-09-04 07:59:26

标签: java multithreading

我不会在后台运行我的线程,但它会阻止UI。 在方法login()dostaff()中,我使用selenium webdriver来获取数据并将其显示在标签中,之后我刷新页面并将线程休眠60000ms;

public static class Moderate implements Runnable {

public void run() {
    login();
    while (true) {
        dostaff();
        try {
            Thread.sleep(60000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
  }
private void login(){....};
private void dostaff(){....};
}

我称之为:

public void ModerateLoop(javafx.scene.control.Label lbl) {
    this.displayLabel = lbl;
    Moderate thread = new Moderate();
    thread.run();
}

1 个答案:

答案 0 :(得分:3)

因为你正在调用方法运行

thread.run();

所以这会阻止调用线程,直到run方法中的代码完成。

您需要 开始 线程

thread.start();