자바에서 스레드를 생성하는 방법에는 다음과 같이 두 가지 방법이 있다.
쓰레드 생성 전
무한 반복 되면서 다음 코드가 실행이 안된다.
package com.java.thread01;
public class BlueFlag {
public void blueFlagAction() {
while(true) {
System.out.println("청기 올려 !!!");
}
}
}
package com.java.thread01;
public class WhiteFlag {
public void whiteFlagAction() {
while(true) {
System.out.println("백기 올려!!!");
}
}
}
package com.java.thread01;
public class FlagTest {
public static void main(String[] args) {
// 콘솔응용프로그램 -> 실행 -> 프로세스
BlueFlag blue = new BlueFlag();
WhiteFlag white = new WhiteFlag();
blue.blueFlagAction(); //무한 반복
white.whiteFlagAction();
}
}
쓰레드 생성 후
1.Thread 상속을 통한 구현
쓰레드가 생성 되면서 동시에 두 플레그가 실행 된다.
package com.java.thread02_thread;
//쓰레드 구현
public class BlueFlag extends Thread{//1.Thread 클래스 상속
// public void blueFlagAction() {
//
// while(true) {
// System.out.println("청기 올려 !!!");
// }
// }
//2.run 메서드를 재정의 한다.
@Override
public void run() {
while(true) {
System.out.println("청기 올려 !!!");
}
}
}
package com.java.thread02_thread;
public class WhiteFlag extends Thread{
@Override
public void run() {
while(true) {
System.out.println("백기 올려 !!!");
}
}
}
package com.java.thread02_thread;
public class FlagTest {
public static void main(String[] args) {
// 콘솔응용프로그램 -> 실행 -> 프로세스
BlueFlag blue = new BlueFlag();
WhiteFlag white = new WhiteFlag();
// blue.blueFlagAction(); //무한 반복
// white.whiteFlagAction();
blue.start();
white.start();
}
}