글
[4주차 선택미션] 멀티스레드 생성
안녕하세요🙂
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
'JAVA > [학습단] #혼공자' 카테고리의 다른 글
[5주차 기본미션] 컬렉션 프레임워크 키워드 정리 (0) | 2019.11.04 |
---|---|
[4주차 기본미션] 데몬스레드 실습 (0) | 2019.10.30 |
[3주차 기본미션] 혼공노트 활용샷 인증하기 (0) | 2019.10.24 |
[3주차 선택미션] 포장 값 비교 (0) | 2019.10.24 |
[2주차 기본미션] 상속 개념 정리를 위한 마무리문제 풀기 (0) | 2019.10.16 |