자바 다 중 스 레 드―기초 개념

자바 다 중 스 레 드
병렬:
병행:두 개 이상 의 사건 이 같은 시각 에 발생 하 는 것 을 말한다.
병발:두 개 이상 의 사건 이 같은 시간 에 발생 하 는 것 을 말한다.   
  
다 중 스 레 드 사용 필드:
1.백 스테이지 퀘 스 트,예 를 들 어 게임 서버
2.대량의 사용자(100 W)에 게 정기 적 으로 메 일 을 보 냅 니 다.
3.비동기 처리:웨 이 보/기록 로그 등
4.분산 계산...
스 레 드 와 프로 세 스 의 차이 점:
프로 세 스:하나의 메모리 에서 실행 되 는 프로그램 을 말 합 니 다.모든 프로 세 스 는 하나의 독립 된 메모리 공간 을 가지 고 있 습 니 다.하나의 프로그램 은 여러 프로 세 스 를 동시에 실행 할 수 있 습 니 다.프로 세 스 도 프로그램의 실행 과정 으로 시스템 실행 프로그램의 기본 단위 입 니 다.시스템 이 프로그램 을 실행 하 는 것 은 프로 세 스 가 생 성,실행 에서 소멸 까지 의 과정 이다.
스 레 드:프로 세 스 내부 의 독립 실행 장치;하나의 프로 세 스 가 여러 개의 스 레 드 를 동시에 실행 할 수 있 습 니 다.하나의 프로 세 스 가 하나의 CPU 운영 체제 에 해당 하 는 것 으로 이해 할 수 있 습 니 다.스 레 드 는 바로 이 시스템 에서 실행 되 는 여러 작업 입 니 다.


스 레 드 만 드 는 방법:
Thread 클래스 계승
1)하위 클래스 계승 Thread 클래스 를 정의 합 니 다.
2) 하위 클래스 에서 Thread 클래스 의 run 방법 을 다시 씁 니 다.
3)Thread 하위 클래스 대상 을 만 듭 니 다.즉,스 레 드 대상 을 만 듭 니 다.
4)스 레 드 대상 start 방법:스 레 드 를 시작 하고 run 방법 을 호출 합 니 다.

Thread 클래스 의 방법:void start() :스 레 드 를 시작 하고 대상 의 run()방법 을 실행 합 니 다. run()  : 스 레 드 가 예약 되 었 을 때 실 행 된 작업 String getName() :스 레 드 의 이름 을 되 돌려 줍 니 다. void setName(String name) :이 스 레 드 이름 설정 static Thread currentThread()  : 현재 스 레 드 를 되 돌려 줍 니 다.Thread 하위 클래스 에 서 는 this 입 니 다.주 스 레 드 와 Runnable 구현 클래스 에 사 용 됩 니 다. static void yield() :스 레 드 양보
현재 실행 중인 스 레 드 를 일시 정지 하고 실행 기 회 를 우선 순위 가 같 거나 높 은 스 레 드 에 양보 합 니 다.
대기 열 에 같은 우선 순위 의 스 레 드 가 없 으 면 이 방법 을 무시 합 니 다. join()  :어떤 프로그램 이 스 트림 에서 다른 스 레 드 의 join()방법 을 호출 할 때 스 레 드 를 호출 하면 join()방법 이 추 가 된 join 스 레 드 가 실 행 될 때 까지 낮은 우선 순위 의 스 레 드 도 실 행 될 수 있 습 니 다. static void sleep(long millis) :(지정 시간:밀리초)
현재 활성 스 레 드 를 지정 한 시간 내 에 CPU 제 어 를 포기 하고 다른 스 레 드 가 실 행 될 수 있 도록 합 니 다.시간 이 되면 다시 줄 을 서 십시오.
중단 예외 이상 던 지기l stop(): 강제 스 레 드 생명 기간 종료,사용 권장 하지 않 음boolean isAlive():boolean 으로 돌아 가 스 레 드 가 살 아 있 는 지 판단 합 니 다.  
스 레 드 동기 화:                                                
시 뮬 레이 션 기차 역 매 표 절차 
      
스 레 드 동기 화:synchronized
해결 방법:
여러 작업 에 대해 데 이 터 를 공유 하 는 문 구 는 하나의 스 레 드 를 모두 실행 시 키 고 실행 과정 에서 다른 스 레 드 는 실행 에 참여 할 수 없습니다.
자바 는 다 중 스 레 드 의 안전 문제 에 대해 전문 적 인 해결 방식 을 제공 했다.동기 화 메커니즘
1.동기 코드 블록:

synchronized (  ){
       //         ;
}
2.synchronized 는 방법 성명 에 넣 어 전체 방법 을 동기 화 방법 으로 표시 할 수 있 습 니 다.
예 를 들 면:

public synchronized void show (String name){
.......
}
총결산
이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 기 를 바 랍 니 다!

좋은 웹페이지 즐겨찾기