자바 기본 스 레 드 메커니즘

2098 단어 JavaSE
기본 스 레 드 메커니즘
방법 1Runnable인 터 페 이 스 를 실현 하고 작성run()방법 으로 해 야 할 일 을 묘사 했다.
class A implements Runnable{
    public void run(){
        //       
    }
}

주의:main()방법 에서run()방법 을 직접 호출 하면 단독 스 레 드 로 구동 되 지 않 고main()방법 을 실행 하 는 그 스 레 드 에 분 배 됩 니 다.이 는 여러 개의 인 스 턴 스 가 순서대로run()방법 을 호출 하면 순서대로 실행 되 는 것 을 의미 합 니 다.
A a1 = new A();
A a2 = new A();
a1.run();
a2.run();

따라서 우 리 는Runnable대상 을 매개 변수 로 하여 하나의Thread대상 을 예화 시 켜Thread을 통 해 구동 한다.
Thread t1 = new Thread(new A());
Thread t2 = new Thread(new A());
t1.start();
t2.start();

방법 2
계승Thread류,재 작성run()방법.
class A extends Thread{
    public void run(){
        //       
    }
}

그리고 그것 을Thread에서 이 어 받 은start()방법 으로 호출 했다.
A a1 = new A();
A a2 = new A();
a1.start();
a2.start();

우 리 는 보통 사용 방법 1,방법 2 에 비해 다음 과 같은 장점 을 추천 합 니 다.
  • 자바 가 한 가지 유형 만 계승 할 수 있 는 한 계 를 피한다.
  • run()중의 코드 는 여러 스 레 드 에 의 해 공유 되 고 코드 와 데이터 가 서로 독립 될 수 있다.
  • 같은 코드 의 여러 라인 이 같은 자원 을 처리 하 는 데 적합 한 경우.

  • 스 레 드 우선 순위
    자바 의 모든 스 레 드 에 우선 순위 가 있어 서 OS 가 스 레 드 에 대한 스케줄 링 순 서 를 결정 합 니 다.
    최소 MINPRIORITY=1 기본 NORMPRIORITY=5 최대 MAXPRIORITY = 10
    우선 순위 가 큰 스 레 드 는 CPU 분 배 를 우선 받 고 같은 등급 의 스 레 드 는 CPU 를 경쟁 합 니 다.
    참고:http://blog.csdn.net/ns_code/article/details/17161237

    좋은 웹페이지 즐겨찾기