Block, Non-Block, Sync, Async

markyang92·2021년 8월 10일
0

linux (ubuntu/debian)

목록 보기
23/36
post-thumbnail

Block / Non-Block

Block

  • block 상태(Running): caller가 어떤 함수를 call 했는데 callee제어권을 가지고 있어서,
    caller가 Wait/block(Suspend 아님!!) 있는 상태
  • callee결과 값을 줄때 까지! 제어권을 caller에게 안줌!
  • sleep, I/O 요청 등이 이에 해당한다.
    • block 상태는 wait/block 이고, Running 상태
    • 이 상태는 wait queue에 있어서, timer interrupt가 끊임 없이 살핀다.

Non-Block

  • Non Block상태: caller가 어떤 함수를 call 했는데 callee 도 thread 등으로 자체 제어권을 가지고 있어서,
    caller가 자기 제어권으로 계속 일을 수행함
  • callee결과 값을 주던 안주던~~ 제어권각자가지고 있음
  • 하지만, callee값이 Sync 되지 않았다면 Async!

profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글