[웹] 동기, 비동기

19·2022년 10월 13일
0

Web

목록 보기
1/1
post-custom-banner

동기 (Synchronous)

  • 작업을 다른 쓰레드에서 하도록 시킨다.
  • 작업이 끝날때까지 기다린다.
    • 그동안 메인쓰레드는 기다려야한다.


비동기 (Asynchronous)

  • 작업을 다른 쓰레드에서 하도록 시킨다.
  • 작업이 끝날때까지 기다리지 않음
    • 그동안 메인쓰레드는 다른 일을 처리한다.


비동기 개념이 필요한 이유?

서버와의 통신(네트워크 작업) 때문


동기와 비동기는 각 쓰레드의 작업에 대한 요청을 하고, 작업이 끝날때까지 기다렸다가 응답할건지 아닌지에 대한 개념이다.



동기로 작업할 수 있고, 비동기로도 작업할 수 있다.

여기서, '어떤 방식으로 작업해도 상관없는데 대신 직렬(순서대로)/병렬(여러개로 분산) 로 처리해'로 작업 방식을 나눌 수 있다.

직렬 (Serial)

  • 분산처리 시킨 작업을 다른 하나의 쓰레드로만 분산해서 처리한다.
  • 작업에 순서가 필요할 경우 직렬 처리를 한다.


동시 (Concurrent)

  • 분산처리 시킨 작업을 여러개의 쓰레드로 분산해서 처리한다.
  • 각자 독립적이지만 유사한 여러개의 작업을 처리할 때 사용한다.


직렬과 동시는 작업들을 순차적으로 진행할 것인지 동시에 진행할 것인지에 대한 개념이다.



참고

동기, 비동기

profile
하나씩 차근차근
post-custom-banner

0개의 댓글