파비의 매일매일 공부기록

#1-4-2,3 The Art of Computer Programming - 기초 알고리즘 본문

Study/Algorithm 문제풀이

#1-4-2,3 The Art of Computer Programming - 기초 알고리즘

fabichoi 2021. 3. 24. 23:30

이제 좀 속도를 내서 꼭 하루에 한 챕터가 아니라 읽어볼 수 있는대까지 읽어보려 한다.

자꾸 이것만 잡고 있어서 다른 것도 진행 안되고.. 해서 간편하게 훑어보기로 함.

 

1-4-2절은 코루틴(coroutine)에 대한 절이다.

주 루틴/서브루틴의 관계는 비대칭적이다.

주 루틴이 서브루틴을 호출하면 서브루틴은 수행 후 다시 주 루틴으로 복귀하는 관계다.

 

그러나 코루틴은 서로가 서로를 호출하는 루틴이다.

예를 들어 두 사람이 게임을 한다고 했을 때,

한 사람의 차례가 끝나면 다음 사람이 진행을 하고

다시 다른 한 사람이 진행을 하는 식을 코 루틴이라고 한다.

 

내가 이해하기엔 코루틴은 약간 async와 비슷한 개념 같다.

sync의 경우 이전에 요청한 내용에 대한 응답이 올 때까지 기다렸다가 다음 단계를 진행하는데

async의 경우 요청을 보내 놓고 응답이 오기 전에 다른 작업도 수행하는 식으로 되어 있다.

 

1-4-3절은 해석 루틴에 대한 절이다.
해석 루틴은 인터프리터라고도 한다. python도 인터프리터 중에 하나다.

종종 에뮬레이터/시뮬레이터 등으로 불리기도 한다.

 

컴퓨터의 종류가 변경되더라도 해석기만 변경하면 되는 개념이라 효율적일 수 있다.

 

오늘 배운 것 중 '코루틴'은 꼭 기억해놔야 할 것 같다.

반응형
Comments