Eru*_*ang 1 java multithreading javafx javafx-2 javafx-8
public void startApp(){
primaryStage.show();
new Thread(new Runnable(){
public void run(){
Thread.sleep(20000);//2 seconds
//do something.........
System.out.println("all things done");
}
}).run();
}
Run Code Online (Sandbox Code Playgroud)
我认为primaryStage将首先显示.但事实上,在新线程完成之后(在打印完所有事情之后),primaryStage始终显示.如果我删除'Thread.sleep(20000)',那么在所有事情完成之后,primaryStage也会被删除.为什么?我错了吗?先谢谢大家!
新线程完成后,primaryStage始终显示
你不是在这里创建一个新线程.您只是run()在Runnable对象上调用该方法.
您需要使用.start()而不是.run()在新线程中执行它.
| 归档时间: |
|
| 查看次数: |
1743 次 |
| 最近记录: |