Blockmonkey

동기 비동기 & 직렬 & 동시성에 대하여 본문

Web Development/Back-end

동기 비동기 & 직렬 & 동시성에 대하여

Blockmonkey 2025. 7. 21. 11:13

서론

비동기와 동시 처리는 같은가? 라는 질문에서부터 시작하여 본 포스팅을 작성하기로 했다.

사전 지식 정리

  • 프로세스 : “운영체제로부터 자원을 할당받은 작업의 단위” 또는 “프로그램을 실행시켜 정적인 프로그램이 동적으로 변해 동작하고 있는 상태”로 정의할 수 있다.
  • 스레드 : “프로세스 내에서 실행되는 흐름의 단위”로 정의

동기

작업이 순차적으로 처리되는 방식으로 작업 처리가 완료될 때까지 기다린다는 개념.

동기 처리

비동기

  • 작업을 다른 스레드에 전달한 후, 결과를 기다리지 않고 다음 작업을 수행하는 방식.
  • 즉, 호출한 메인스레드는 작업의 완료를 기다리지 않고 다음 작업을 수행.

비동기 처리

직렬처리

  • Queue에 있는 작업을 다른 “하나의” 스레드로 넘겨 순차적 처리하는 것.
  • 순서가 중요한 작업을 처리 시 사용.

직렬 처리

동시처리

여러 스레드에서 작업을 분산하여 동시에 처리하도록 하는 방식.

동시처리

결론

비동기와 동시 처리는 같은가? 의 답은 “다르다”이다.

왜냐하면, 비동기는 작업을 보내는 스레드(메인스레드) 기준에서 작업을 보내고 기다리지 않고 수행하는 개념이며 동시처리는 다른 여러 스레드로 작업을 넘겨 분산 처리하는 것을 의미한다.

'Web Development > Back-end' 카테고리의 다른 글

EKS - Context  (0) 2025.07.21
EKS 사용하기  (3) 2025.07.21
ECS 사용기  (3) 2025.07.21
Docker 에 대하여 정리  (4) 2025.07.21
HTTP VS Socket  (0) 2023.05.01