我有一个方法
public static void startAnimation() {
new AnimationThread().run();
}
其中AnimationThread实现runnable,其构造函数为:
public AnimationThread() {
new Thread(this, "Animation Thread");
EventQueue.setAnimationCounter(0);
alive = true;
}
我从applet的init()方法调用的挂起,因为它永远不会返回值。有没有办法启动这个线程并完成init()方法,以便我的applet启动!
由于
答案 0 :(得分:4)
你需要稍微改变一下:
public AnimationThread() {
EventQueue.setAnimationCounter(0);
alive = true;
new Thread(this, "Animation Thread").start();
}
public static void startAnimation() {
new AnimationThread();
}
start()
是在不同线程上运行代码的神奇Thread
方法; AnimationThread
构造函数在调用后将正常返回,AnimationThread.run()
将在新线程中执行。
答案 1 :(得分:2)
也许您应该使用start
方法而不是run
方法。只有start
方法才真正执行新线程。