4-2.(2) Thread 수행시간 체크

zhyun·2020년 9월 21일
0

HighJava

목록 보기
24/67
post-custom-banner

Runnable인터페이스를 구현한 클래스

: 1~10억까지 합계 구하는 메서드

class MyThread2 implements Runnable{

	@Override
	public void run() {
		for(int i =1; i<=200; i++) {
//			System.out.print("$");
			System.out.print("혁");
			try {
				//Thread.sleep(시간) => 주어진 시간동안 작업을 잠시 멈춘다.
				//시간은 밀리세컨드 단위를 사용한다.
				//즉, 1000ms는 1초를 의미한다.
				Thread.sleep(100);
			}catch(InterruptedException e) {
				e.printStackTrace();
			}
		}
	}	
}

1~10억까지 합계 구하는 메서드 실행과 표준시로부터 현재까지 경과한 시간 구하기

public class T03_ThreadTest {
	public static void main(String[] args) {
		Thread th = new Thread(new MyRunner()); //쓰레드 객체 생성 
		
		// 1970년 1월 1일 0시 0분 0초(표준시)로부터 경과한 시간을 
		// 밀리세컨드(1/1000초)단위로 나타낸다.
		long startTime = System.currentTimeMillis(); //표준시로부터 현재일까지 경과한 시간을 start에 담음
		
		th.start();//쓰레드 시작..
		
		try { //예외 try catch join() -> main쓰레드가 실행
			th.join();//현재 실행중인 쓰레드에서 작업중인 쓰레드(지금은 th쓰레드)
					  //가 종료될 때까지 기다린다.
		} catch (InterruptedException e) {
			e.printStackTrace();
		} 
		
		long endTime = System.currentTimeMillis();
		
		System.out.println("경과 시간: "+(endTime-startTime) + "ms");
	}

}
profile
HI :)
post-custom-banner

0개의 댓글