ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 동기(sync)/비동기(async), 블로킹(blocking)/논블로킹(non-blocking) 관심사의 차이
    Interview 2023. 3. 23. 09:18
    반응형

    동기/비동기, 블로킹/논블로킹의 차이

    • 동작은 비슷하지만 관심사가 다르다

    Blocking / Non-Blocking

    • 관심사: 호출되는 함수가 바로 리턴하느냐 마느냐
    • Blocking: 호출된 함수가 자신의 작업을 모두 마칠때 까지 제어권을 넘겨주지 않고 대기하게 만듦
    • Non-Blocking: 호출된 함수가 호출한 함수에게 바로 제어권을 넘겨주고 호출한 함수가 다른 일을 할 수 있게 함

    Synchronous / Asynchronous

    • 관심사: 호출되는 함수의 작업 완료 여부를 누가 신경 쓰느냐
    • Synchronous: 호출 하는 함수가 호출되는 함수의 완료 여부를 신경씀
    • Asynchronous: 호출하는 함수가 작업 완료 여부를 신경쓰지 않고, 호출받는 함수에게 callback 전달.

    조합

    • Blocking, Synchronous: 함수 호출 후 다른일을 하지 못하고 대기
    • Non-Blocking, Asynchronous: 함수 호출 후 다른 일을 수행 할 수 있다.
    • Non-Blocking, Synchronous: 함수 호출 후 다른 작업을 할 수 있지만 작업 완료 여부를 계속 신경쓴다.
    • Blocking, Asynchronous: 함수 호출 후 다른 일을 하지 못하고 대기

    참고

    반응형
Designed by Tistory.