Я хочу запустить свою игру немного эффективнее. Я хотел бы использовать два потока вместо одного потока. Теперь я хочу соединить два класса, используя параллельный цикл while для запуска. Но если я начну игру сейчас, второй поток не будет выпущен, пока цикл while не остановится в первом потоке.
Это мой код:
public class Game {
public void Game() {
Update update;
Render render;
update.start();
render.start();
}
}
class Update implements Runnable {
private Thread thread;
private boolean running;
@Override
public void run() {
while(running) {
//Update Stuff
}
}
public synchronized void start() {
if(running)
return;
running = true;
thread = new Thread(this);
thread.start();
}
}
class Render implements Runnable {
private Thread thread;
private boolean running;
@Override
public void run() {
while(running) {
//Render Stuff
}
}
public synchronized void start() {
if(running)
return;
running = true;
thread = new Thread(this);
thread.start();
}
}
Как я могу запустить оба потока одновременно? Заранее спасибо.