Я собирался использовать потоки для каждого звука в игровом движке, который я делаю. Проблема в том, что всякий раз, когда я создаю новый поток, который имеет оператор while(true)
, другой поток перестает работать.Почему один поток останавливает работу другого потока?
Я сделал класс, чтобы проверить это, и он печатает только «до свидания», а не «привет». Мне было интересно, как заставить оба потока работать одновременно.
public class testor {
public static void main(String args[]){
testor test=new testor();
test.runTest();
}
class threadTest implements Runnable{
@Override
public void run() {
while(true){
System.out.println("goodbye");
}
}
}
public void runTest(){
threadTest test=new threadTest();
test.run();
while(true){
System.out.println("hello");
}
}
}
Вы не начинаете тему, просто называя 'run()'. Посмотрите здесь: https://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html – Blorgbeard
oooooohhhhhhhhhhh, lol. Спасибо – user2350459
Если на ваш вопрос ответили, ответьте как ответ (много ответов в одном предложении). – Matthias