Java/Excercise

thread ch03 TerminateThread

낭구리 2021. 9. 8. 18:20
package ch03;

import java.util.Scanner;

class MyThread extends Thread {
	
	boolean flag = true;
	
	@Override
	public void run() {
		while(flag) {
			System.out.print("-");
			try {
				Thread.sleep(300);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}//무한루프 돌면서 대기(이벤트같은것들)
		
		
	}
}

public class TerminateThread {

	public static void main(String[] args) {
		System.out.println("작업자를 생성하겠습니다.");
		//메인 쓰레드가 작업자를 생성
		MyThread thread1 = new MyThread();
		//작업자 1이 작업을 시작(run 메서드 호출 )
		thread1.start();
		
		//메인 쓰레드가 작업함
//		System.out.println("중지하려면 0번을 입력하시오");
//		Scanner sc = new Scanner(System.in); //파일 입출력할떄 system.in배움
//		int userInput = sc.nextInt();
		
//		if(userInput == 0) {
////			thread1.stop();//deprecated (더이상사용하지마시오)
//			thread1.flag = false;
//		}
		
		//문제 계속 값을 확인하고싶을 때 do while문 사용해서 

		int userInput;
		Scanner sc = new Scanner(System.in);
		do{
			System.out.println("중지하려면 0번을 입력하시오");
            userInput = sc.nextInt();	
            if(userInput == 0) {            	
            	thread1.flag = false; 
            }
		} while(userInput != 0); // = 좌우가 사실인지 거짓인지 판별하는것 = 관계연산자
			
		//while(true)면 계속 실행 false면 실행x
		//while 은 계속 반복을 시켜주는 
		
	}

}

'Java > Excercise' 카테고리의 다른 글

callback ch00 Main,SubActivity  (0) 2021.09.09
swing ch06 MiniAmongUs  (0) 2021.09.08
thread ch03 JoinTest  (0) 2021.09.08
thread ch03 priorityTest  (0) 2021.09.08
thread ch02 SharedResource  (0) 2021.09.08