[IT]/java
java.Tread.sleep
givemebro
2021. 3. 17. 12:22
반응형

Thread.sleep(2000) // 2초간 중단되었다가 수행을 재개
package step5;
/*
* 멀티 스레드 테스트 (동영상 플레이어 가정)
* 동영상 플레이어 프로세스
* 세부적 실행단위
* 1. 영상 스레드
* 2. 음향 스레드
* 가 멀티 스레딩 되어야함
*/
class VideoWorker implements Runnable {
@Override
public void run() {
System.out.println("**영상작업 Thread시작**");
try {
video();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.out.println("**영상작업 Thread 종료**");
}
}
public void video() throws InterruptedException {
for (int i = 0; i < 10; i++) {
System.out.println(">>영상작업" + i);
Thread.sleep(2000); // 2초간 중단되었다가 수행을 재개
}
}
}
class AudioWorker implements Runnable {
public void run() {
System.out.println("**음향작업 Thread 시작**");
try {
audio();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.out.println("**음향작업 Thread 종료**");
}
}
public void audio() throws InterruptedException {
for (int i = 0; i < 10; i++) {
System.out.println("++음향작업" + i);
Thread.sleep(2000);
}
}
}
public class TestThread5 {
public static void main(String[] args) {
System.out.println("**main Thread 시작**");
Thread videoThread = new Thread(new VideoWorker());
videoThread.start();
Thread audioThread = new Thread(new AudioWorker());
audioThread.start();
System.out.println("**main Thread 종료**");
}
}
**main Thread 시작**
**영상작업 Thread시작**
>>영상작업0
**main Thread 종료**
**음향작업 Thread 시작**
++음향작업0
++음향작업1
>>영상작업1
>>영상작업2
++음향작업2
>>영상작업3
++음향작업3
>>영상작업4
++음향작업4
>>영상작업5
++음향작업5
>>영상작업6
++음향작업6
>>영상작업7
++음향작업7
>>영상작업8
++음향작업8
>>영상작업9
++음향작업9
**영상작업 Thread 종료**
**음향작업 Thread 종료**
java.Thread
Thread 사전적 의미 실, 실이 여러개 모여 옷을 만든다 정의 프로세스 내의 세부적 실행단위 (프로세스 : 현재 실행중인 프로그램) ex) 동영상 플레이어 (Youtube 같은)를 실행 : 동영상 플레이어 프로
broscoding.tistory.com
반응형