• 블로킹
    • 프로세스 또는 스레드 일시 중지 시키는 것
  • 동기 호출은 반드시 블로킹이 아닌데
    • 블로킹이 아닌 함수(a+b같은) 말하는 것. 이건 블락이 안되고 바로 실행됨 - 블로킹 호출은 모두 확실한 동기 호출
    • 스레드가 블로킹 호출 기다리고 실행되니 무조건 동기
  • 논블로킹
    • 이거 쓰면 호출 스레드에서
      1. 계속 논블로킹 함수 확인하기
      2. 콜백 함수도 줘서 다른 스레드에서 처리할 수도 있는듯

  • 메인 스레드 관점에서 판단
  • 비동기는 출력 순서와 관련된 개념이고 논블로킹이 병렬 실행과 관련된 개념

그로킹 동시성에서

블로킹 vs 논블로킹 운영체제가 장치에 접근하는 방식에대한 개념. 블로킹에서 입출력 연산은 연산이 끝날때 까지 결과 반환 안함. 반면, 논블로킹에선 모든 호출은 결과를 호출 측에 즉시 반환하지만, 결과는 연산의 상태만 알려줌. 따라서, 연산이 성공적으로 완료되었는지는 알기위해서 여러번 호출해야할 수 도 있음

동기적 vs 비동기적 입출력 연산에서 제어권이 흐르는 추상적 방식에 대한 개념. 동기적 호출은 연산이 끝날 때 까지 제어권 보유. 반면, 비동기는 제어권을 호출 측이 다른 연산을 수행할 수 있도록 제어권을 즉시 반납