slick2D游戏项目中的java RuntimeException

时间:2014-04-27 13:28:11

标签: java slick2d

我在具有以下代码的项目中创建了一个新线程:

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上下文。 我该怎么做才能解决这种异常?

1 个答案:

答案 0 :(得分:2)

你可能不会。不支持多线程(see this thread)。

您可以通过大量自定义代码找到解决方法(请参阅herehere),但您应该首先重新考虑您的设计。是否真的有必要在自己的线程中运行此代码?因为从不同的线程中获取相同的上下文似乎是一个非常糟糕的主意,我无法想到我想要这样做的情况(它不会提高性能并使代码更难以阅读和维护)。 / p>