/ / Prečo jedna vláda Java blokuje vykresľovanie OpenGL, ktoré sa vykonáva v inom vlákne? - java, multithreading, opengl, lwjgl

Prečo jedna vláda Java blokuje vykresľovanie OpenGL, ktoré sa vykonáva v inom vlákne? - java, multithreading, opengl, lwjgl

Keď sa pokúsim spustiť svoj Java kód, ktorý používaĽahká Java Game Library (LWJGL) v jednom vlákne, všetko funguje dobre. Keď však spustím druhý podproces Java, ktorý jednoducho neustále vytlačí text (pozri moje pseudokód triedy textových závitov), ​​program OpenGL sa stáva nereagujúcim, ale text je stále vytlačený. Nezobrazujú sa žiadne chyby.

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

Čítal som, že OpenGL má problémy s multithreadingom tu a tu a tak ďalej, ale nesnažim sa oddeliťOpenGL úloha vo viacerých vláknach. Používam jednu vlákno výlučne pre OpenGL a iné vlákno na spustenie kódu bez OpenGL. Nenašiel som žiadne návrhy na internete, čo je príčinou môjho problému, snažil som sa meniť priority vlákien, ale to nepomohlo. Akákoľvek pomoc by bola ocenená.

odpovede:

0 pre odpoveď č. 1

pretože toto vlákno zaberá procesor,

overiť: pridajte spánok po vytlačení, uvidíte, či sa obnoví hlavné vlákno.