我对Java线程并不熟悉:(。我有这个类,当被调用时,构造一个新窗口(draw()方法).drawGUI()最后调用一个处理方法(比较( )方法)。
基本上结构是
public static void draw() {
// draws stuff
compare();
}
问题是drawGUI()绘制的窗口有一些主要的视觉瑕疵,直到处理(compare())结束。
在draw()完成执行后,我可以实现启动compare()的最简单方法是什么?谢谢
答案 0 :(得分:3)
最简单的方法是将draw()
代码放在线程内的asyncExec()
内
new Thread(new Runnable() { public void run() { //do long running blocking bg stuff here Display.getDefault().asyncExec(new Runnable() { public void run() { draw(); } } }).start();
答案 1 :(得分:0)
假设您收到文物的原因是draw()
没有机会返回,您可以使用Thread
。
final T parent = this;
new Thread(new Runnable() {
public void run() {
parent.compare();
}
}).start();
(其中T是具有比较方法的类的类型)。