결과를 돌려주었을 때 순서, 결과에 관심있는지 여부로 나눌 수 있다.
다른 주체가 작업할 때, 자신에게 제어권이 있는지 없는지 여부로 나눌 수 있다.
자신의 작업(A), 다른 작업(B)
A를 진행하다가 B의 작업이 시작되면 B가 끝날 때까지 기다렸다가 A를 시작하는 것
A를 진행하다가 B에 관련없이 A를 하는 것
1. 유저가 커널에게 요청
2. 커널은 입력 여부와 관계없이 결과 전달
3. 유저는 다른 작업 수행 & 커널은 입력 올 때까지 계속 확인
4. 입력하면 커널이 유저에게 결과 전달
A는 B가 완료될 때까지 대기, B가 완료되자마자 A가 처리
ex) 자바에서 입력요청
A는 B가 완료될 때까지 A 진행하면서 B의 상태 확인, 완료되면 A가 바로 처리
A는 B가 완료될 때까지 대기, B가 완료하면 나중에 처리
A는 B가 완료될 때까지 A 진행하면서 B의 상태 확인, B가 완료하면 나중에 처리
ex) 자바스크립트 API 요청 후 콜백하는 경우