오늘의 할 일이 주어졌다.
- 세탁기 돌리기
- 빨래 널기
- 청소기 돌리기
- 식기 세척기 돌리기
- 식기 정리하기
A는 세탁기를 돌리고 세탁기가 돌아가는 동안 청소기를 돌린다. 아직 세탁기가 돌아가는 중이라서 식기 세척기를 돌린다. 세탁기가 세탁을 끝내면 식기 세척기가 돌아가는 동안 빨래를 널고 식기를 정리한다.
반면, B는 세탁기를 돌리고 다 돌아갈 때까지 기다린다. 다 돌아가고 나서 빨래를 널고 청소기를 돌린다. 그 후 식기 세척기를 돌린 후 끝나면 식기를 정리한다.
이렇게 융통성이 없는 B가 동기이고 융통성이 있는 A가 비동기이다.
동기식(Synchronous)
동기식 : 요청을 보낸 후 응답을 받아야지만 다음 동작을 하는 방식
실제로 CPU가 느려지는 것은 아니지만 응답을 받을 때까지 기다려야함으로 시스템의 전체적인 효율이 저하된다.
비동기식(Asynchronous)
비동기식 : 요청을 보낸 후 응답과 상관없이 다음 방식을 동작하는 방식
응답을 받는데 걸리는 시간동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.