JAVA - 쓰레드 (1)

jodbsgh·2022년 4월 19일
0

💡"JAVA"

목록 보기
44/67

프로세스와 쓰레드(process & thread)

  • 프로세스 : 실행 중인 프로그램, 자원(resource)과 쓰레드로 구성
  • 쓰레드 : 프로세스 내에서 실제 작업을 수행
    모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다.

프로세스 : 쓰레드 = 공장 : 일꾼

  • 싱글 쓰레드 프로세스
    = 자원 + 쓰레드

  • 멀티 쓰레드 프로세스
    = 자원 + 쓰레드 + 쓰레드 + .... + 쓰레드

"하나의 새로운 프로세스를 생성하는 것보다
하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다."

멀티쓰레드의 장단점

대부분의 멀티 프로그램이 멀티쓰레드로 작성되어 있다.
그러나, 멀티쓰레드 프로그래밍이 장점만 있는 것은 아니다.

  • 장점
  1. 시스템 자원을 보다 효율적으로 사용할 수 있다.
  2. 사용자에 대한 응답성이 향상된다.
  3. 작업이 분리되어 코드가 간결해 진다.
  • 단점
  1. 동기화에 주의해야 한다.
  2. 교착상태가 발생하지 않도록 주의해야 한다.
  3. 각 쓰레드가 효율적으로 고르게 시행될 수 있게 해야 된다.
profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글