햄찌개

JAVA- 쓰레드 예제(1) -각 쓰레드 끝나는 순서로 출력 본문

고급 JAVA

JAVA- 쓰레드 예제(1) -각 쓰레드 끝나는 순서로 출력

햄찌개 2020. 9. 23. 12:47

* 3개(명)의 쓰레드가 각각 알파벳 대문자를 출력하는데 출력을 끝낸 순서대로 결과를 나타내는 프로그램 작성하기

public class T11_DisplayCharacterTest {

	
	static String strRank = "";
	public static void main(String[] args) {
		DisplayCharacter[] disChars = new DisplayCharacter[] {
			new DisplayCharacter("홍길동"),	
			new DisplayCharacter("일지매"),	
			new DisplayCharacter("변학도")
		};
		for (int i = 0; i < disChars.length; i++) {
			disChars[i].start();
		}
		for (DisplayCharacter dc : disChars) {
			try {
				dc.join();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		System.out.println("경기끝 ....");
		System.out.println("============================================");
		System.out.println();
		System.out.println(" 경기 결과 ");
		System.out.println("순위 : "+ strRank);
		
	}
	
}

//대문자를 출력하는 쓰레드 클래스
class DisplayCharacter extends Thread{
	private String name;

	public DisplayCharacter(String name) {
		this.name = name;
	}
	
	@Override
	public void run() {
		for (char ch = 'A'; ch < 'Z'; ch++) {
			System.out.println(name +"의 출력문자 :"+ ch);
			try {
				//sleep()메서드 값을 200~ 500사이의 난수로 한다
				Thread.sleep((int)(Math.random()*301+200));
			} catch (InterruptedException ex) {
					ex.printStackTrace();
			}
		}
		System.out.println(name + "출력끝 ....");
		T11_DisplayCharacterTest.strRank +=name +"";
	}
	
}

'고급 JAVA' 카테고리의 다른 글

JAVA - 쓰레드 Yield()  (0) 2020.09.23
JAVA - 쓰레드 예제(2) - 경마프로그램  (0) 2020.09.23
JAVA - 쓰래드 상태  (0) 2020.09.23
JAVA - Daemon쓰레드  (0) 2020.09.23
JAVA - 쓰레드 우선순위  (0) 2020.09.23