레이블이 java thread인 게시물을 표시합니다. 모든 게시물 표시
레이블이 java thread인 게시물을 표시합니다. 모든 게시물 표시

2016년 8월 19일 금요일

22day / SE / Thread


  • Thread :  프로세스 내의 세부적 실행 단위 
참고) 사전적 의미로는 실 (여러 개의 실이 모여 옷감을 구성)
  1. process : 현재 실행중인 프로그램 
  2. multi-processing : 다수의 프로세스가 실행 
  3. multi-threading : 다수의 스레드가 실행 

  • ex) 동영상 플레이어 실행 - 프로세스 
  1. 영상 스레드 
  2. 음향 스레드 멀티스레딩되어야 한다 
  3. 자막 스레드 

  • ex) 채팅 클라이언트 실행 - 프로세스 
  1. 서버로부터 정보를 입력받는 스레드   멀티스레딩되어야 한다  
  2. 서버로 정보를 전송하는 스레드 

  • Thread 생성방법 
  1. extends Thread
  2. implements Runnable

  • Thread 제어 
  1.    start() : 스레드를 실행가능상태로 보낸다 
  2.   실행가능상태 -> 스레드 스케줄링을 기다리는 상태 
  3.    run() : 스레드의 실행 행위를 정의 
  4.                  스레드 스케줄링이 되면 run() 메서드가 실행된다


  • Thread 스케줄링 방식

    : 시분할 방식과 우선순위 방식에서 자바는 우선순위방식을 채택
      자바 스레드의 우선순위는 1 ~ 10
      가장 낮은 우선순위는 1 , 가장 높은 우선순위는 10이다
      우선순위를 별도로 명시하지 않을 경우에는 5가 기본으로 설정된다
      Thread 의 setPriority(우선순위) , getPriority() 를 활용하면 된다
      우선순위를 부여하면 스케줄링 가능성이 높아지는 것이지
      반드시 우선순위가 높다해서 먼저 실행한다는 보장은 없다