저는 게임을위한 기본적인 자바 프로그래밍을 배우려고합니다.이 Java 애플릿 자습서 코드의 루프에서 스레드 우선 순위가 최대로 설정된 이유는 무엇입니까?
다음은 this tutorial here입니다. 애플릿의 실행 방법에 대한
그들의 골격 코드 :
public void run()
{
// lower ThreadPriority
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
// run a long while (true) this means in our case "always"
while (true)
{
// repaint the applet
repaint();
try
{
// Stop thread for 20 milliseconds
Thread.sleep (20);
}
catch (InterruptedException ex)
{
// do nothing
}
// set ThreadPriority to maximum value
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
이 코드에서 그들은 처음에 최소 스레드 우선 순위를 설정합니다. 그런 다음 루프 내부에서 최대 값으로 설정합니다.
나는 이것의 목적이 무엇인지 궁금합니다.
나에게도 꽤 어색해 보인다. 그것은 루프 앞에 min 우선 순위로 설정하고, * 무한 루프를 실행하며, 또한 첫 번째 반복 이후 스레드 우선 순위를 최대로 설정합니다. 이상하고 도움이되지 않는 튜토리얼처럼 보입니다. –
그래, 우선 순위를 높이기위한 실제 배치는 조금 기괴합니다. 본질적으로, 루프를 시작하기 전에 우선 순위를 높이는 것이 좋습니다 (그러나 낮추지는 마십시오). 내 대답은 아래를 참조하십시오. 그러나 그들이 그것을 어디에 두 었는지, 그리고 처음에 최소로 설정 한 구체적인 배치 뒤에있는 이유는 즉시 명백하지 않습니다. –
글쎄,이 게임은 나중에 더 복잡해지는 게임을위한 애플릿의 기본 골격에 불과하다고 생각합니다. 나는 이미 자바 게임에 대한 몇 가지 자습서를 시도했지만, 모두 비밀리에 모든 종류의 물건을 설명 할 수 없게 만들거나, 다른 방법으로 가서 모든 것을 던져 버린다. 나는 내가 할 수있는 한 최선을 다해 나가야한다고 결심했다. – kiman