Java : Thread

공부의 기록·2021년 11월 1일
0

Java

목록 보기
13/19
post-custom-banner

Thread


프로세스

의미

  1. 실행된 프로그램
  2. 운영체제로부터 시스템 자원을 할당받는 작업의 단위
  3. 자바 프로그램은 OS 대신 JVM 에 의해 자원을 할당받는다.

쓰레드

의미

  1. 프로세스의 특정한 수행 경로
  2. 프로그램의 처리 경로
  3. 프로그램의 흐름

멀티 쓰레드

의미

  1. 여러 개의 경로를 가질 수 있게한다.
  2. 한 개의 처리 경로를 여러 개로 나누어 동시 작업이 가능하다.
  3. 하나의 프로세스를 동시에 처리하는 것처럼 보이지만 사실은 매우 짧은 단위로 분할해서 차례대로 처리한다.
  4. 웹 페이지(JSP)가 대표적인 멀티 쓰레드 응용 프로그램이다.

장점

  1. 효율성 증가
  2. 처리량 증가
  3. 처리비용 증가

단점

  1. 복잡하고 설계가 어려움
  2. 자원의 공유문제 발생
  3. 교착상태Dead Lock 발생
    3-0. 제어문을 통해 교착상태를 판단하고 다시 깨워준다.

생성

  1. Thread 클래스 상속
  2. Runnable 인터페이스 지정 후 Thread 객체에 넘겨주기

synchronized

동기화

하나의 쓰레드가 실행 중일 때 다른 쓰레드가 동시에
같은 필드를 사용하지 못하도록 막는 것

synchronized(this){
  // 다른 쓰레드가 동시에 접근 불가
}
profile
2022년 12월 9일 부터 노션 페이지에서 작성을 이어가고 있습니다.
post-custom-banner

0개의 댓글