Wenn ich versuche, meinen verwendeten Java-Code auszuführenLeichte Java Game Library (LWJGL) in einem Thread, alles funktioniert gut. Wenn ich jedoch einen zweiten Java-Thread starte, der einfach ständig Text druckt (siehe Pseudocode der Text-Thread-Klasse unten), reagiert mein OpenGL-Programm nicht mehr, der Text wird jedoch weiterhin gedruckt. Es werden keine Fehler angezeigt.
public class TextPrinterThread implements Runnable {
public void run() {
while(true) {
System.out.println("My text");
}
}
}
Ich habe gelesen, dass OpenGL Probleme mit Multithreading hat Hier und Hier und so weiter, aber ich versuche nicht zu trennenOpenGL-Job in mehreren Threads. Ich benutze einen Thread ausschließlich für OpenGL und einen anderen Thread, um Nicht-OpenGL-Code auszuführen. Ich habe im Internet keine Vorschläge gefunden, was die Ursache meines Problems ist. Ich habe versucht, die Thread-Prioritäten zu ändern, aber es half nicht. Jede Hilfe wäre dankbar.
Antworten:
0 für die Antwort № 1weil dieser Thread CPU belegt,
Verify: Schlaf nach Druck hinzufügen, ob der Haupt-Thread wiederhergestellt wurde.