/ / Защо една нишка Java блокира OpenGL рендерирането, което се извършва в друга нишка? - java, multithreading, opengl, lwjgl

Защо една нишка Java блокира рендерирането на OpenGL, което се извършва в друга нишка? - java, multithreading, opengl, lwjgl

Когато се опитвам да изпълнявам моя Java код, който го използваЛеко Java Game Library (LWJGL) в една тема, всичко работи добре. Въпреки това, когато стартирам втора нишка на Java, която просто постоянно отпечатва текст (вижте текста на псевдоклада на текстовата нишка по-долу), програмата ми OpenGL става неотзивчива, но текстът все още се отпечатва. Не се показват грешки.

 public class TextPrinterThread implements Runnable {
public void run() {
while(true) {
System.out.println("My text");
}
}
}

Прочетох, че OpenGL има проблеми с мултитъч тук и тук и така нататък, но не се опитвам да се разделямРабота в OpenGL в няколко теми. Аз използвам една нишка единствено за OpenGL и друга нишка, за да изпълнявам код без OpenGL. Не намерих никакви предложения в интернет каква е причината за моя проблем, опитах се да променям приоритетите на нишката, но това не помогна. Всяка помощ ще бъде оценена.

Отговори:

0 за отговор № 1

защото тази нишка заема CPU,

проверете: добавете сън след печат, вижте дали основната нишка ще бъде възстановена.