더북(TheBook)

이렇게 명령(요청)한 순서대로 출력(응답)하는 방식을 동기식(synchronous)이라고 하며, 프로그래밍에서 일반적으로 코드가 실행되는 방식입니다.

그런데 다음과 같은 상황이 있다면 어떨까요?

def call_service():
    # do someting
    pass

print("Step: 1")
call_service()
print("Step: 3")

어떤 처리를 하는 데 오랜 시간이 걸리는 call_service()라는 함수가 있다고 하겠습니다. 그러면 첫 줄인 print("Step: 1")이 바로 실행되고 call_service()가 완전히 수행될 때까지 기다리다가 print("Step: 3")이 수행될 것이라고 예상할 수 있습니다. 코드를 실행하면 다음과 같을 것입니다.

Step: 1 ------ call_service 함수가 완료되기를 기다림
Step: 3
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.