synchronize VS asynchronize, blocking VS non-blocking

hyyyynjn·2021년 5월 23일
0

자바 스터디

목록 보기
14/15
post-thumbnail
  • synchronize VS asynchronize와 blocking VS non-blocking 차이점 설명하기

Blocking VS Non-blocking


큰 차이점 👉 프로그램을 바로 실행가능한지 아닌지에 따라 나뉜다

✋Blocking I/O model

  • System Call이 끝날때까지 프로그램이 대기하고, System Call이 완료될 때 return하는 모델이다.
  • Wait Queue에 들어간다.

✋Non-blocking I/O model

  • System Call이 완료되지 않아도 대기하지 않고 return 하는 모델이다
  • Wait Queue에 들어가지 않는다.

Synchronize(동기) VS Asynchronize(비동기)


큰 차이점 👉 결과물을 가져오는 시점에 따라 나누어진다

✋Synchronize

  • System Call 이 끝날때까지 기다리고 결과물을 가져온다

✋Asynchronize

  • Callback 함수를 통해 System Call이 나중에 완료될 때 결과물을 가져온다

ASynchronous Vs Non-Blocking


System Call이 즉시 Return될 때 데이터의 포함 유무에 따라 나뉜다

✋ASynchronous

  • 요청에 대한 처리가 완료되지 않아도 운영체제에서 응답준비가 되면 응답한다.

✋Non-Blocking

  • 요청에 대한 처리가 가능하면 응답하고, 불가능하면 Error를 반환한다.

Blocking Vs Synchronous


Wait Queue 유무에 따라 나뉜다

✋Blocking

  • System Call의 return 을 기다리는 동안 wait Queue 에 필수로 머문다

✋Synchronous

  • System Call의 Return을 기다리는 동안 Wait Queue에 선택적으로 머문다

요약


0개의 댓글