2017년 4월 4일 화요일

[JAVA]Thread Option

yield : 현재 실행중인 스레드 객체를 일시적으로 중단
sleep : 현재 실행중인 스레드를 지정된 밀리초 + 지정된 나노초 동안 수면 상태(일시적 실행 중단)로 변경
stop :스레드가 실행을 중단하도록 강제 실행
interrupt : 스레드를 인터럽트
interrupted : 현재 스레드를 인터럽트했는지 여부를 테스트
destroy : 종결 처리하지 않고, 스레드를 버림
isAlive : 스레드가 활동중인지 여부를 테스트 (해당 스레드가 활동중인 경우 true, 그렇지 않으면 false)
suspend : 스레드를 일시 중단
resume : 중단된 스레드를 재개
setPriority : 스레드의 우선순위를 변경
getPriority : 스레드의 우선순위를 리턴
getName : 스레드의 이름을 리턴
activeCount : 스레드 그룹에 있는 활성 스레드의 현재 수를 리턴
enumerate : 스레드 그룹 및 하위 그룹에 있는 모든 활성 스레드를 지정된 배열로 복사
countStackFrames : 스레드에 있는 스택 프레임의 수를 계산
join : 스레드가 종료되는 것을 적어도 millis 밀리초 동안 기다림립. 시간 종료 값이 0이면 무한히 기다림
toString : 스레드 이름, 우선순위 및 스레드 그룹을 포함하여, 스레드의 문자열 표시를 리턴

package test;

import java.text.SimpleDateFormat;
import java.util.Date;

class News extends Thread{
String news;
public News(String n){
this.news = n;
}
public void run(){
for(int i=0; i<3000000;i++){
System.out.println("Message "+news+" "+i);
}
}
}
class tt{
public static String time() {
Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd, hh:mm:ss:SSS a");
return sdf.format(dt).toString();
}
}
class Synchronized_Sample {

public static void main(String[] args) {
News n1 = new News("Eng");
News n2 = new News("Kor");
News n3 = new News("Mat");

try{
String st = tt.time();

n1.start();n1.join();
n2.start();n2.join();
n3.start();
n3.join();
String en = tt.time();

System.out.println("start:"+st+" // "+"end:"+en);
}catch(InterruptedException e){
e.printStackTrace();
}

}
}쓰레드 예시.


쓰레드풀 가이드라인 http://palpit.tistory.com/732



댓글 없음:

댓글 쓰기