Blocking vs. Non-blocking, Sync vs. Async, Coroutine
카테고리 없음
2023. 3. 31. 10:07
이 둘이 무슨 차이인고 찾아보니, 별 시덥잖은 것까지 다 분류를 해놓은 건 아닌가 하는 생각이 든다. 어떤 함수에서는 다른 함수에서 호출을 할 수 있다. 이건 당연하다. 그런데 함수에 따라서 제어권을 반환하거나 하지 않기도 한다. 제어권을 반환하지 않으면 Blocking이고, 제어권을 반환하면 Non-blocking이다. 제어권을 반환하지 않으면 함수 안에서 호출된 함수가 모두 실행된 후에 아래 코드가 실행된다. 하지만 제어권을 반환하면 호출된 함수가 모두 실행되지 않더라도 아래 코드가 실행된다. 뭔 소리여? 여태까진 Async가 콜백을 가진 어떤 Task를 던져놓고 신경을 안 써도 되는 것 쯤으로 이해하고 있었는데, 사실 알고보니 이건 Async 보다는 Non-blocking의 특징이었고, Async는..