먼저 생활 비유
식당 앞에서 기다리기
자리가 날 때까지 입구에 서 있어야 하면 블로킹, 대기표를 받고 다른 곳에 갈 수 있으면 논블로킹에 가깝습니다.
2.7 · 프로세스와 동시성
작업을 요청한 함수가 지금 돌아올 수 있느냐가 왜 중요할까요?
블로킹 호출은 조건이 충족될 때까지 현재 스레드를 돌려보내지 않습니다.
먼저 생활 비유
자리가 날 때까지 입구에 서 있어야 하면 블로킹, 대기표를 받고 다른 곳에 갈 수 있으면 논블로킹에 가깝습니다.
컴퓨터 예제로 바꾸기
bytes = socket.read(buffer);데이터가 없을 때 read가 멈춰 기다릴 수도 있고, “아직 없음”을 즉시 반환하게 설정할 수도 있습니다.
지금 일어나는 변화
스레드가 운영 체제에 데이터가 있는지 묻습니다.
이 그림에서 기억할 한 문장
블로킹은 현재 호출이 스레드를 붙잡는가, 논블로킹은 즉시 제어권을 돌려주는가의 차이입니다.
현재 상태
30초 확인 문제
논블로킹 read에 데이터가 없다면 보통 어떻게 할까요?
처음 보는 용어 두 개
이 절을 다 읽었다면
블로킹은 현재 호출이 스레드를 붙잡는가, 논블로킹은 즉시 제어권을 돌려주는가의 차이입니다.