본문 바로가기

JAVA/#혼공단3기

[혼공자] 4주차 - (선택) 멀티스레드 손 코딩

4주차 선택 미션은 539페이지 2번 문제 풀이이다.

동영상과 음악을 재생하기 위해 두가지 스레드를 실행하는 미션이다.

동영상 재생 클래스는 Thread를 상속받아서 구현하고, 음악 재생 클래스는 Runnable 구현 클래스로 작성한다.

 

실행 코드(ThreadExample.java):

public class ThreadExample {
	public static void main (String[] args) {
    	Thread thread1 = new MovieThread();
        thread1.start();
        
        Thread thread2 = new thread(new MusicRunnable());
        thread2.start();
    }
}

MovieThread.java

public class MovieThread extends Thread {
	@Override
    public void run () {
    	for (int i=0; i<3; i++) {
        	System.out.println("동영상을 재생합니다.");
            try {
            	Thread.sleep(1000);
            } catch (InterruptedException e) {}
        }
    }
}

MusicRunnable.java

public class MusicRunnable implements Runnable {
	@Override
    public void run () {
    	for (int i=0; i<3; i++) {
        	System.out.println("음악을 재생합니다.");
            
            try {
            	Thread.sleep(1000);
            } catch (InterruptedException e) {}
        }
    }
}

실행결과: