public class T05_ThreadTest {
public static void main(String[] args) {
String str = JOptionPane.showInputDialog("아무거나 입력하세요");
System.out.println("입력한 값은 "+ str +"입니다.");
//카운트다운 하는 for문 -> 사용자가 10초동안 입력을 안하면
//프로그램을 끝내고 싶은데 쓰레드 1개(단일쓰레드)로는 불가능하다.
for (int i=10; i >= 1; i--) {
System.out.println(i);
try {
Thread.sleep(1000);//1초동안 잠시 멈춘다.
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class T06_ThreadTest {
//입력여부를 확인하기 위한 변수 선언
//모든 쓰레드에서 공통으로 사용할 변수
public static boolean inputcheck = false;
public static void main(String[] args) {
Thread th1 = new DataInput(); //아래 데이터 입력 받은 스레드
Thread th2 = new CountDown(); // 아래 카운트 다운 스레드
th1.start();
th2.start();
}
}
데이터를 입력받는 쓰레드
class DataInput extends Thread{
@Override
public void run() {
String str = JOptionPane.showInputDialog("아무거나 입력하세요");
System.out.println("입력한 값은 "+ str +"입니다.");
//입력이 완료되면 inputCheck변수를 true로 변경한다.
T06_ThreadTest.inputcheck = true; // true로 바뀜으로써 프로그램이 끝난걸 알 수 있다.
}
}
카운트다운 처리를 위한 쓰레드 클래스
class DataInput extends Thread{
@Override
public void run() {
String str = JOptionPane.showInputDialog("아무거나 입력하세요");
System.out.println("입력한 값은 "+ str +"입니다.");
//입력이 완료되면 inputCheck변수를 true로 변경한다.
T06_ThreadTest.inputcheck = true; // true로 바뀜으로써 프로그램이 끝난걸 알 수 있다.
}
}