논블럭

    블록, 논 블록, 동기, 비동기

    블록, 논 블록, 동기, 비동기

    쉽게 헷갈리는 블록 논 블록 / 동기 비동기 관련해서 나름의 정리를 해봤다. 무조건 적으로 이게 맞다기 보단 이렇지 않을까 하는 추측성 내용도 있기 때문에 매우 매우 주관적이다. 블록, 논 블록 vs 동기, 비동기 제어권을 넘긴다는 설명이 많아서 '어떤 제어권을 넘긴다는 거지? ' 생각해본 결과 스레드는 아니라 생각해서 프로세스의 제어권을 넘긴다고 가정했다. 결과 블록, 논 블록은 프로세스 제어권을 리턴하는 것으로 끝나기 때문에 함수의 결과를 기다리지 않지만 동기 비동기는 함수의 결과를 계속 확인하거나 콜백 함수로 받는다. 추상적인 개념 동기, 비동기가 추상적이라한 이유는 다음과 같다. 순차적으로 일어나는 것은 동기, 동시에 일어나는 것은 비동기라고 구분하지만, A 스레드가 B스레드를 관찰하는 행위(결과..