오늘 공부한 내용

  • 면접대비 2문항 공부
  • 마지막 프로젝트 / 코드 리팩토

 

새로 알게된점

멀티프로세스  멀티쓰레드

멀티프로세스 여러 개의 독립적인 프로세스를 동시에 실행하는 것을 의미

  1. 독립된 메모리 공간: 각 프로세스는 운영체제에 의해 별도의 메모리 공간을 할당받습니다. 이는 프로세스 간의 메모리 충돌이 발생하지 않고, 안정성이 높아집니다. 
  2. 독립적인 실행: 각 프로세스는 독립적으로 실행되며, 하나의 프로세스가 다른 프로세스에게 영향을 주지 않습니다. 
  3. 높은 안정성: 프로세스 간의 독립성으로 인해 하나의 프로세스가 비정상적으로 종료되더라도 다른 프로세스에 영향을 미치지 않고 시스템을 유지할 수 있습니다. 
  4. 메모리 사용량 증가: 각 프로세스는 독립적인 메모리 공간을 가지기 때문에 메모리 사용량이 증가할 수 있습니다. 
  5. 프로세스 간 통신: 프로세스 간 통신은 별도의 메커니즘을 사용하여야 하며, 비교적 번거로울 수 있습니다.

 

멀티쓰레드 : 하나의 프로세스 내에서 여러 개의 쓰레드가 동시에 실행되는 특징

  1. 공유된 메모리 공간: 하나의 프로세스 내에서 스레드들은 같은 메모리 공간을 공유합니다. 이는 데이터 공유가 간편하고 효율적인 통신이 가능하게 합니다. 
  2. 동시성 작업 처리: 멀티스레드는 여러 스레드가 동시에 작업을 처리하므로, 작업 처리 속도와 효율성이 향상될 수 있습니다. 
  3. 스레드 간 협력: 스레드들은 같은 프로세스 내에서 협력하여 작업을 수행합니다. 이는 병렬 처리와 작업 분담에 유리합니다. 
  4. 동기화 문제: 여러 스레드가 동시에 공유된 데이터에 접근할 때, 동기화 문제가 발생할 수 있습니다. 이를 위해 동기화 메커니즘이 필요합니다. 
  5. 예외 처리 주의: 하나의 스레드에서 발생한 예외가 다른 스레드에 영향을 줄 수 있으므로, 예외 처리에 주의해야 합니다.

 

멀티 프로세스 는 독립된 메모리 공간 과 안정성을 강조 하며, 멀티 스레드는 공유된 메모리 공간과 작업 처리속도를 강조 한다.

 

 

 

 

+ Recent posts