我对 Java 线程一点也不熟悉.
基本上结构是
public static void draw() {
// draws stuff
compare();
}
问题是 drawGUI() 绘制的窗口在处理 (compare() ) 结束之前有一些主要的视觉伪影。
在 draw() 完成执行后,我可以实现启动 compare() 的最简单方法是什么?谢谢
我对 Java 线程一点也不熟悉.
基本上结构是
public static void draw() {
// draws stuff
compare();
}
问题是 drawGUI() 绘制的窗口在处理 (compare() ) 结束之前有一些主要的视觉伪影。
在 draw() 完成执行后,我可以实现启动 compare() 的最简单方法是什么?谢谢
最简单的方法是将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();
假设您获得文物的原因是draw()
没有机会返回,您可以使用Thread
.
final T parent = this;
new Thread(new Runnable() {
public void run() {
parent.compare();
}
}).start();
(其中 T 是具有您的 compare 方法的类的类型)。