Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

시뮬레이션 : https://famous-caramel-e50cb4.netlify.app/ 

  • 요즘 유행하는 코드생성기 Bolt로 이 개념을 설명하기위해 작성해보았습니다.
    • 한명이 모든일을 하는 바리스타와 주문하는사람은 따로있고 바리스타가 분리되어 운영하는 커피숍


동시성처리와 병렬성처리는 유사해보이지만 큰 차이가있으며 다음과같이 간략하게 설명될수 있습니다.

  • 동시성 동시처리 : 한사람이 커피주문 받고 만들기를 동시에한다. 커피머신을 이용하면서도 주문을 받음 - 비동기 논블록킹 프로그래밍
    • 주의 : 블락킹이 하나라도 발생하면 전체가 함께 지연됨
  • 병렬성 병렬처리 : 커피주문을 받는사람과 만드는 사람이 각각 따로 있다.  - 병렬처리 멀티스레드 프로그래밍
    • 주의 : 블락킹이 발생하면 특정 컨텍스트 담당영역만 지연되지만 작업자 하나에 블락킹이 발생해도 다른작업가 작업을 진행하는것에 영향을 주지않지만 작업처리간 자원 공유문제를 잘 해결하지 못하면 데드락및 궁핍현상이 궁핍현상등이 발생해 작업이 전체작업이 중단될수도 있음있습니다.
  • 순차성순차처리(동기순차 블락킹 프로그래밍) : 한사람이 커피주문을 받고 커피를 만들지만~ 커피가 완성될때까지 다음손님 주문을 받지 못한다.
    • 동시/병렬로 진행되지 않음으로 전체 소요시간은 각 Task의 전체합으로 전체완료시간이 가장느리며
    • 병렬프로세싱은 가장빠른 전체완료시간을 보장할수 있지만, 동시성처리는 더 적은 자원으로 병렬프로세싱과 유사한 효율성을 가질수 있습니다. 

...