다음은 스레드 블록 / 깨우기 주요 코드
공공 클래스 MyThread이 (가) 확장 스레드 { // 의미 개인 최종 개체 잠금 = 새 새 개체 (); // 플래그 스레드 폐쇄 개인 부울 PAUSE = false로 ; / ** * 설정 스레드가 차단됩니다 * / 공공 무효 {pauseThread () 은이를 . PAUSE = 참 ; } / ** *이 방법은 스레드 회복 조작 구현 호출 * / 공용 공극 ResumeThread로 () { 이 본 .pause = 거짓을 행 ; 동기화 (잠금) { // 모닝콜 스레드 () lock.notify } } / ** *이 방법은 실행 방법으로 구현 될 수있다, 또는 페이지의 응답 결과 없습니다, 메인 스레드를 차단합니다 * / 무효 onPause를 () { 동기화 ( 잠금) { 은 try { // 스레드 대기 / 차단 lock.wait (); } 캐치 (예외 : InterruptedException E) { e.printStackTrace (); } } } @Override 공공 무효 실행 () { 슈퍼 .RUN (); // 플래그 나사 턴 isWait = true로 ; //이 순환되어 그동안을 ( 참 ) { 경우 (PAUSE) { // 스레드 차단 / 대기 onPause를 (); } 은 try를 { // 프로그램은 매 50 밀리 초를 실행 당신은 값을 변경할 수 있습니다 에 Thread.sleep (50 ) // 당신은 당신의 코드 코드 코드 세 번 말을 중요한 것들을 쓰기 여기 } 캐치 (예외 E) { e.printStackTrace를 (); BREAK를 ; } } } }
어떻게 사용 하는가?
// 1. 자신의 스레드를 만듭니다 스레드 myThread = 새 새 ) (MyThread를; // 2. 시작을 올바른 장소에서 스레드를 (당신은 어딘가에 시작해야) ) myThread.start을 (; // 스레드 (3)의 시작 후 차단 / 일시 정지 , myThread.pauseThread을 () // 4 및 차단 / 일시 정지 일어나 실 후 / 계속 ) (myThread.resumeThread을;