
코루틴(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
- kubernetes
- elasticsearch
- kibana
- bugfix
- Pydantic
- JWT
- pytest
- GitOps
- kubectl
- sns로그인
- factory_boy
- grafana
- miniproject
- numble
- gradle
- coroutine
- Project
- supervisord
- await
- ArgoCD
- fastapi
- async
- NCP
- elk
- jwt로그인
- DevOps
- logstash
- promethus
- OAuth
- Supervisor
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |