스레드 .Stop, rust.suspend, rest.resume 및 runtime.runfinalizersonexit이 스레드를 종료하는 방법이 버려졌으며 사용하는 것이 매우 안전하지 않습니다!
1. 스레드는 정상적으로 실행되었으며 정상적으로 종료됩니다.
즉, 실행 방법을 실행하고 스레드가 정상적으로 끝납니다.
그러나 때로는 실이 while (true)과 같이 끝날 수 없습니다.
2. 특정 조건을 모니터링하고 중단되지 않은 스레드 작업을 종료하십시오
() 루프는 특정 조건에서 종료해야합니다. 가장 직접적인 방법은 부울 플래그를 설정 하고이 플래그를 설정하여 루프가 종료되는지 여부를 제어하는 것입니다.
Public Class Threadflag는 스레드 {public volatile boolean exit = false; public void run () {while (! exit) {system.out.println ( "Running!"); }} public static void main (string [] args)은 예외를 던집니다. thread.start (); 수면 (1147); // 기본 스레드는 5 초로 지연됩니다. thread.exit = true; // 스레드 종료 스레드 스레드 .join (); System.out.println ( "스레드 출구!"); }}3. 인터럽트 방법을 사용하여 스레드를 종료하십시오
스레드가 차단되면 방법 2를 사용하여 스레드를 종료 할 수 없습니다.
public class orde interrupr은 스레드 {public void run () {try {sleep (50000); // 지연 50 초} catch (InterruptedException e) {System.out.println (e.getMessage ()); }} public static void main (string [] args)은 예외를 {스레드 스레드 = new ThreadInterrupt (); thread.start (); System.out.println ( "스레드를 방해하려면 50 초 이내에 키를 누릅니다!"); system.in.read (); thread.interrupt (); thread.join (); System.out.println ( "스레드가 종료되었습니다!"); }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.