동기(Sync), 비동기(Async), Blocking, Non Blocking 차이
동기 & 비동기: 처리해야 하는 작업들을 어떤 '흐름'으로 처리할 것인가에 대한 관점 동기: A 함수가 B 함수를 호출할 때, B 함수의 결과를 A 함수가 처리하는 것. B의 작업 완료 후 리턴을 기다리거나, 바로 리턴을 받더라도 미완료 상태라면 작업 완료 여부를 계속 확인하면서 신경 쓰는 것. 비동기: A 함수가 B 함수를 호출할 때, B 함수의 결과를 B 함수가 처리하는 것. A가 B를 호출할 때 콜백(callback) 함수를 함께 전달해서, B 함수의 작업이 완료되면 함께 보낸 콜백함수를 실행한다. A는 B의 완료 여부를 신경 쓰지 않는다. Blocking & Non Blocking: 처리해야 하는 작업의 전체적인 흐름을 막느냐 안 막느냐에 대한 관점, 제어권이 누구에게 있는지Blocking: ..
2024.08.20