Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Skipalong's tistory

240126 TIL - Process, Thread, MultiThread 본문

TIL

240126 TIL - Process, Thread, MultiThread

Skipalong 2024. 1. 27. 01:26

얼마전에 좋아요의 동시성 문제를 테스트 할 때 멀티쓰레드 환경에서 테스트를 해 보았는데 쓰레드에 관련된 개념을 한 번 정리해야 할 것 같아서 그 내용을 정리해 보겠다. 

 

프로세스와  쓰레드

 

  • 프로세스는 독립적인 실행 환경을 가지며 메모리를 분리하여 운영되는 프로그램 인스턴스이다. 
  • 스레드는 프로세스 내에서 동작하며 메모리를 공유하는 작은 실행 단위를 나타낸다.

차이점

 

  • 프로세스는 독립된 메모리 공간을 가지고 있으며, 스레드는 같은 프로세스 내에서 메모리를 공유한다.
  • 프로세스간의 데이터 공유 및 통신은 IPC 기술을 사용해야 하지만, 스레드는 같은 프로세스 내에서 간단하게 데이터를 공유할 수 있다.
  • 스레드의 생성 및 소멸 비용이 프로세스보다 낮다.
  • 프로세스는 독립적으로 실행되기때문에 문제가 다른 프로세스에 영향을 주지 않지만 스레드는 오류가 발생하면 다른 스레드에도 영향을 줄 수 있다.

멀티 프로세스와 멀티 쓰레드

 

  • 멀티프로세스는 독립적인 메모리 공간을 가지며 안정성이 높고 자원 소모가 크지만, 병렬처리에 용이하고 프로세스 간 통신이 필요하다.
  • 멀티쓰레드는 같은 메모리 공간을 공유하고 경량성을 가지며 쓰레드간 전환이 빠르다. 자원 효율성이 높지만, 동시성 관리가 복잡하고 오류가 전파될 수 있다.

'TIL' 카테고리의 다른 글

240130 TIL - MockMvc  (0) 2024.01.31
240129 TIL - RestDocs  (1) 2024.01.30
240125 TIL - Query 최적화, DB로직 최소화  (0) 2024.01.26
240124 TIL - 멀티 쓰레드 테스트(좋아요)  (1) 2024.01.25
240123 TIL - JMeter  (0) 2024.01.23