안녕하세요🙂

 

4주차 선택미션은 멀티스레드 생성에 관한 문제 풀어보기 였어요.

(P.539 #2번)

 

문제 풀기에 앞서 멀티스레드란 무엇인지,

프로세스와 멀티태스킹 개념을 정리하며 알아볼까요 🧐

 

 

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 ⬇︎ ====================================================================================

package part12.sec01.verify.exam02;

public class MovieThread extends Thread{

	@Override
	public void run() {
		for (int i = 0; i < 3; i++) {
			System.out.println(" 동영상 재생하기 " + i);
			//System.out.println("movie");
			try {
				Thread.sleep(3000);
			} catch (Exception e) {
			}
		}
	}
}

====================================================================================================

 

 

MusicThread.java⬇︎ ====================================================================================

package part12.sec01.verify.exam02;

public class MusicRunnable implements Runnable {

	@Override
	public void run() {
		for (int i = 0; i < 3; i++) {
			System.out.println(" 음악 재생하기 " + i);
			//System.out.println("music");
			try {
				Thread.sleep(3000);
			} catch (Exception e) {
			}
		}
	}
}

====================================================================================================

 

 

MovieThread 클래스와 MusicThread 클래스는 두 클래스 모두 스레드가 실행할 코드 내용을 포함하고 있지만

각각 스레드 생성방식이 달라요.

 

스레드 생성방식 두 가지에 대해 알아볼게요.

 

첫번째, Thread 클래스로부터 직접 생성하기 (  implements )

📍인터페이스 타입인 Runnable을 구현하는 객체 생성하는 방법

📍MusicThread.java 

 

두번째, Thread 하위클래스로부터 생성하기 ( extends )

📍Thread클래스를 상속받아 run()메소드를 오버라이딩 하는 방법

📍MovieThread.java 

설정

트랙백

댓글