Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- trie
- 카카오 인턴
- 티스토리 open api
- 보행자 천국
- Python
- 트라이
- Spring Boot
- Tistory
- 프로그래머스
- 크레인 인형뽑기 게임
- pycon
- 징검다리 건너기
- Open API
- 트라이 #trie #알고리즘
- CleanCode
- bulk update
- 호텔 방 배정
- 알고리즘
- 티스토리
- 불량 사용자
- 가사 검색
- 튜플
- jdbc
Archives
- Today
- Total
택시짱의 개발 노트
python 코루틴이란? 본문
시작전에
메인 루틴과 서브 루틴이란 ?
- 메인 루틴에서 서브 루틴을 호출하면 서브 루틴의 코드를 실행 한 뒤 다시 메인 루틴으로 돌아와 남은 작업을 진행한다.
- 서브 루틴의 작업이 끝나게되면 서브 루틴의 내용은 모두 사라진다.
- 서브 루틴은 메인 루틴안에 속하기 때문에 종속된 관계를 가진다.
def mul(a, b):
# mul 함수가 끝나면 변수와 계산식은 사라진다
c = a * b
print(f'{c} - mul 함수')
return c
def main():
# mul 함수가 끝나면 다시 calc 함수로 돌아온다
result = mul(1, 4)
print(f'{result} - calc 함수')
main()
>>> 4 - mul 함수
>>> 4 - calc 함수
# main가 main 루틴(main routine)이면 mul은 main의 서브 루틴(sub routine)이다.
코루틴이란( coroutin )?
- 코루틴은 cooperative routine을 의미한다.
- 코루틴 함수가 종료되지 않은 상태에서 메인 루틴의 코드를 실행한 뒤 다시 돌아와 코루틴의 코드를 실행 한다
- 코루틴이 종료되지 않았기 때문에 코루틴의 내용은 사라지지 않고 계속 유지 된다.
- 일반 함수를 호출하면 한 번만 실행이 가능하지만 코루틴은 코드를 여러 번 실행 가능하다.
- 함수의 코드를 실행하는 지점을 진입점(entry point)이라고 하는데, 코루틴은 진입점이 여러 개인 함수이다.
참고 - https://www.youtube.com/watch?v=-ffBU0nj8b0&t=2s
반응형
'python' 카테고리의 다른 글
mro(method resolution order)가 뭐지..? (0) | 2022.03.22 |
---|---|
python decorator의 실행 순서는 어떻게? (2) | 2022.02.20 |
classmethod vs staticmethod (0) | 2022.01.16 |
pycon - 우아하게 준비하는 테스트와 리팩토링 ( 테스트 ) (0) | 2021.07.25 |
pycon - 우아하게 준비하는 테스트와 리팩토링 ( 클린코드 ) (0) | 2021.07.24 |
Comments