[고 병발 시리즈]6.수호 라인 Daemon

1204 단어 Java
수호 라인:체계 적 인 서비스 완성;
사용자 스 레 드:업무 수행 완료;
자바 응용 프로그램 에서 수호 라인 만 있 을 때 자바 가상 기 회 는 자동 으로 종 료 됩 니 다.
예 를 들 어 스 레 드 를 데 몬 스 레 드 로 설정 하고 main 방법 은 2 초 후에 실행 이 끝나 면 데 몬 스 레 드 만 남 고 프로그램 이 종료 되 며 2 개의 기록 만 인쇄 합 니 다.데 몬 스 레 드 를 설정 하지 않 으 면 무한 인쇄 되 며 프로그램 이 자동 으로 종료 되 지 않 습 니 다.
public class DaemonThreadDemo {
	public static class DaemonDemo extends Thread {
		@Override
		public void run() {
			while (true) {
				System.out.println("I am alive.");
				try {
					TimeUnit.SECONDS.sleep(1);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
	}
	public static void main(String[] args) throws InterruptedException {
		Thread t = new DaemonDemo();
		t.setName("DaemonDemo");
		t.setDaemon(true);
		t.start();
		TimeUnit.SECONDS.sleep(2);
	}
}

데 몬 스 레 드 를 설정 하려 면 시작 스 레 드(즉 start()방법)전에 설정 해 야 합 니 다.그렇지 않 으 면 데 몬 스 레 드 설정 에 실 패 했 음 을 알 립 니 다.그러나 프로그램 은 정상적으로 실 행 될 수 있 습 니 다.사용자 스 레 드 로 실 행 될 뿐 입 니 다.
수호 라인 설정 실패 오류:
Exception in thread "main" java.lang.IllegalThreadStateException
	at java.lang.Thread.setDaemon(Thread.java:1359)
	at DaemonThreadDemo.main(DaemonThreadDemo.java:25)

좋은 웹페이지 즐겨찾기