자바 노트(10)-다 중 스 레 드 디자인

1.자바 에는 다 중 스 레 드 를 실현 하 는 두 가지 방법 이 있 습 니 다.자바.lang.Thread 를 실현 하거나 자바.lang.Runnable 인 터 페 이 스 를 실현 합 니 다(사실은 Thread 도 Runnable 인 터 페 이 스 를 실현 합 니 다).
 
2.Thread 하위 클래스 의 모든 대상 은 하나의 스 레 드 이 고 하위 클래스 를 구성 하 는 중요 한 절 차 는 Public void run()을 실현 하 는 것 입 니 다. 스 레 드 의 실행 코드 는 run 에 있 지만 시작 스 레 드 는 Public void start()함 수 를 호출 하여 진행 되 었 습 니 다.start 방법 을 호출 한 후 자바 가상 기 회 는 자동 으로 스 레 드 를 시작 하여 자바 가상 컴퓨터 가 병발 체제 에 따라 스 레 드 를 통일 적 으로 스케줄 링 하여 병발 을 실현 하고 run 을 직접 호출 할 수 없습니다.스 레 드 의 운행 은 run 방법 을 실행 하 는 것 이다.
예컨대
public dlass J_Thread extends Thread...
...
new J_Thread().start();

 
3.Runnable 이 존재 하 는 필요 성 은 자바 에 다 중 계승 이 존재 하지 않 는 다 는 것 이다.인터페이스 Runnable 을 실현 하 는 것 은 다 중 계승 문제 에 대한 해결 방법 이다.구조,시작 스 레 드 방법 은 다음 과 같다.
public dlass A extends B implements Runnable...
...
A a = new A();
Thread t = new Thread(a);
t.start();

 
 4.스 레 드 는 백 스테이지 스 레 드(daemon thread)와 사용자 스 레 드(user thread)로 나 뉘 는데 백 스테이지 스 레 드 는 데 몬 스 레 드 라 고도 부 릅 니 다.그 와 사용자 스 레 드 의 차 이 는 프로그램 에서 백 스테이지 스 레 드 만 실 행 될 때 프로그램 이 바로 종료 되 는 것 입 니 다.실행 중인 사용자 스 레 드 가 있 으 면 배경 스 레 드 가 종료 되 지 않 고 배경 스 레 드 는 다른 스 레 드 에 서 비 스 를 제공 합 니 다.기본 적 인 상황 에서 스 레 드 는 사용자 스 레 드 입 니 다.Public final void setDaemon(boolean on)으로 설정 하고 Public final boolean isDaemon()으로 판단 할 수 있 습 니 다.
 
5.스 레 드 는 우선 순위,최고 Thread.MAX 가 있 습 니 다.PRIORITY 는 10,최저 Thread.MINPRIORITY 는 1 로 Public final int getPriority()를 통 해 현재 스 레 드 우선 순 위 를 가 져 올 수 있 으 며,Public final void setPriority(int priority)를 사용 하면 pri 는 1~10 칸 이 어야 합 니 다.그렇지 않 으 면 차단 되 어야 합 니 다.
 
6. Thread 의 Public static void sleep(long millis)throw Interrupted Exception 을 호출 하여 현재 스 레 드 를 수면 상태 로 들 어가 게 합 니 다.sleep 는 Thread 의 정적 구성원 방법 이기 때문에 스 레 드 를 사용 하여 수면 에 들 어 가 는 것 이 아니 라 이 호출 문 이 있 는 스 레 드 가 수면 에 들 어가 기 때문에 헷 갈 리 지 않도록 Thread.sleep 로 수면 작업 을 하도록 합 니 다.
 
7.Thread 의 getName 방법 으로 현재 스 레 드 의 이름 을 가 져 옵 니 다.이 이름 은 스 레 드 대상 을 구성 할 때 지정 합 니 다.

좋은 웹페이지 즐겨찾기