Versions Compared

Key

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


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

...

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


JVM(자바+코틀린) 영역이 지원하는 동시성 프로그래밍 방식을 먼저 알아보고 액터모델에 이벤트를 전송해 결과값을 받는 ASK패턴도 알아보겠습니다.

...