
코루틴(coroutine)이란? 코루틴은 co + routine의 합성어로, 직역하면 함께/협력하여 수행되는 루틴이라고 볼 수 있다. 여기서 루틴이란 실행하는 프로시저나 함수를 의미한다. 다시 말해, 코루틴은 협력하여 실행되는 함수로 설명된다. 이게 어떤 의미일까? 루틴의 종류부터 살펴보자. 메인 루틴 - 서브 루틴 함수 내에서 또 다른 함수를 호출하면, 해당 함수가 결과 값을 반환할 때까지 대기했다가 그 이후 코드들을 순차적으로 수행한다. 이때 호출한 함수가 메인 루틴, 호출된 함수가 서브 루틴에 해당한다. 코루틴 반면에 코루틴은 비동기적으로 함수 내 여러 다른 지점에서 진입하고 탈출하고 재개할 수 있는 특수한 서브루틴에 해당한다. 코루틴이 완료되지 않아도 또 다른 코루틴을 실행할 수 있다. 코루틴을 ..

우리가 기본적으로 접하는 동기, 비동기 개념은 관점에 따라 설명을 달리 할 수 있다. 여기서 살펴볼 관점은 함수의 제어권과 반환된 결과에 따른 처리이다. 관점에 따라 아래의 도표와 같이 sync/async, blocking/non-blocking으로 나누어 진다. 설명에 앞서, A 함수가 B 함수를 호출한다고 가정하자. 가령 이런 것이다. def A(): ... B() ... def B(): ... blocking/non-blocking blocking과 non-blocking을 나누는 기준은 제어권을 언제 반납하느냐 하는 것이다. 여기서 제어권이란 함수의 실행 흐름을 제어하는 것으로, 쉽게 말해 제어권이 있어야 함수 내 코드를 계속 실행할 수 있다. blocking 방식은 A 함수가 B 함수 호출 시에..
- Total
- Today
- Yesterday
- Project
- elasticsearch
- OAuth
- Supervisor
- jwt로그인
- pytest
- GitOps
- grafana
- bugfix
- logstash
- ArgoCD
- sns로그인
- elk
- numble
- fastapi
- NCP
- kibana
- factory_boy
- gradle
- supervisord
- kubectl
- JWT
- promethus
- DevOps
- kubernetes
- async
- Pydantic
- await
- coroutine
- miniproject
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |