자바 데몬 예제

이 경우 데몬 스레드는 좋은 접근 방식이 아닙니다. 데몬 스레드는 일반적으로 프로그램이 가비지 수집기 스레드처럼 실행되는 한 백그라운드에서 일반 서비스를 제공하는 데 사용됩니다. Java 가상 시스템이 시작되면 일반적으로 일부 지정된 클래스의 main이라는 메서드를 호출하는 단일 사용자(비데몬) 스레드가 있습니다. Java 가상 머신은 데몬 스레드가 아닌 모든 스레드가 종료될 때까지 스레드를 계속 실행하고 JVM은 데몬 스레드가 실행을 완료할 때까지 기다리지 않습니다. 마지막 비데몬 스레드가 완료되자마자 JVM은 얼마나 많은 데몬 스레드가 존재하거나 실행중이든 상관없이 종료됩니다. 이 예제에서는 Java 데몬 스레드를 사용하는 방법을 보여 드리며 스레드는 프로그램의 실행 스레드입니다. Java 가상 머신을 사용하면 응용 프로그램에 동시에 실행되는 여러 스레드(사용자, 데몬)가 있습니다. 예 2: 데몬스레드Ex2.java 스레드(start() 메서드를 시작한 후 setDaemon() 메서드를 호출하면 IllegalThreadStateException이 throw됩니다. 이것은 분명히 스레드를 시작하기 전에 setDaemon() 메서드를 호출 할 수 있음을 의미합니다.

스레드를 데몬 스레드로 설정하려면 Thread.setDaemon()을 호출하기만 하면 됩니다. 이 예제에서는 스레드 클래스를 확장 하는 NewThread 클래스를 사용 합니다. 이제 혼란 지점 스레드 dt = 새 스레드 (새 데몬 스레드(새 데몬 스레드() “dt”); 는 클래스의 이름 때문에 이지만 실제로 필요한 모든 스레드의 runnable입니다. Thread 클래스의 setDaemon() 메서드는 특정 스레드를 데몬 스레드 또는 사용자 스레드로 표시/설정하는 데 사용됩니다. 실행 중인 유일한 스레드가 모두 데몬 스레드인 경우 Java 가상 시스템이 종료됩니다. 스레드를 시작 하기 전에이 메서드를 호출 해야 합니다. 메서드 setDaemon()은 스레드 개체를 만들고 스레드가 시작되지 않은 후에만 호출할 수 있습니다. 스레드가 실행되는 동안 setDaemon()을 호출하려고 하면 IllegalThreadStateException이 throw됩니다. 는 사용자 스레드에서 데몬 스레드로 변환되는 명령문입니다.

Comments are closed.