non-blocking
[CS] 동기 / 비동기, 블로킹 / 논블로킹
[CS] 동기 / 비동기, 블로킹 / 논블로킹
2024.05.18A 함수(호출자)가 B 함수(피호출자)를 호출하는 상황이라고 가정❶ 동기/비동기: 호출자(A)가 피호출자(B)의 처리 결과를 기다리는지 여부동기: 피호출자의 처리 결과를 받아서 다음 작업 수행 → 호출자/피호출자 순차적 수행A는 B 작업이 끝날 때까지 다른 작업을 수행하지 않고 B의 반환값을 기다림 비동기: 피호출자의 처리 결과를 기다리지 않고 다음 작업 수행 → 호출자/피호출자 동시 수행B가 작업을 완료하면 콜백 함수 호출 (혹은 프로미스 활용) ❷ 블로킹/논블로킹: 호출자(A)가 피호출자(B)에게 제어권 전달 여부블로킹: 피호출자에게 제어권 전달 → 피호출자가 작업을 완료할 때까지 대기A가 B를 호출하여 제어권 전달 후, B의 작업 완료를 기다림 논블로킹: 피호출자에게 제어권 전달 안함 → 호출자는 ..