我在具有以下代码的项目中创建了一个新线程:
battleStart = new Thread(new Runnable(){
@Override
public void run() {
while(compteur<50){
BattleStart.draw(0,0);
try {
Thread.sleep(10);
} catch (InterruptedException e) {e.printStackTrace();}
compteur++;
}
}
});
但是我得到了这个例外: 线程“Thread-3”中的异常java.lang.RuntimeException:当前线程中找不到OpenGL上下文。 我该怎么做才能解决这种异常?
答案 0 :(得分:2)
你可能不会。不支持多线程(see this thread)。
您可以通过大量自定义代码找到解决方法(请参阅here和here),但您应该首先重新考虑您的设计。是否真的有必要在自己的线程中运行此代码?因为从不同的线程中获取相同的上下文似乎是一个非常糟糕的主意,我无法想到我想要这样做的情况(它不会提高性能并使代码更难以阅读和维护)。 / p>