inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

파이썬 코루틴의 이해

코루틴 흐름에 관한 질문

269

김경민

작성한 질문수 2

0

안녕하세요 1-3 강의를 듣고 따라하는 중에 의문점이 들어 질문을 남깁니다.

 

공통 코드

import time
import asyncio

async def delivery(name, mealtime):
    print(f'{name}에게  배달 완료')
    await asyncio.sleep(mealtime)
    print(f'{name}님 식사 완료, {mealtime}시간 소요')
    print(f'{name}그릇 수거 완료')
    
async def main():
    task1 = asyncio.create_task(delivery('경민', 1))
    task2 = asyncio.create_task(delivery('윤민', 2))
   #-----변경할 부분------#
    #await task2
    #print(1)
    #await task1
   #--------------------#
if __name__ == '__main__':    
    start = time.time()
    asyncio.run(main())
    end = time.time()
    print(end-start)

질문 1. create_task메서드 실행만 했을 경우 코루틴 함수의 await전까지 실행되는 이유

공통 코드 실행 결과:

>>> 경민에게 배달 완료

>>> 윤민에게 배달 완료

>>> 0.0000510...

개인생각 : create_task는 실행은 하지 않고 선언만 한 것인데 await전까지 왜 실행이 되나,,

 

 

질문 2. create_task메서드의 선언 순서 고정으로 출력되는 이유

#-----변경할 부분------#
    await task2
    #print(1)
    await task1
   #--------------------#

>>> 경민에게 배달 완료

>>> 윤민에게 배달 완료

개인 생각: 윤민에게 먼저 배달을 해야하는 것이 아닌가

 

질문 3. 다음 결과의 이유

#-----변경할 부분------#
    await task2
    print(1)
    await task1
   #--------------------#

>>> 경민 배 완

>>> 윤민 배 완

>>> 경 식 완

>>> 경 그 수거

>>> 윤 식 완

>>> 윤 그 수거

>>> 1

 

개인 생각: 질문1,2의 경험 없이 생각을 해보면

경민에게 배달하고 1이 출력된 다음에 윤민에게 배달을 해야하는게 아닌가 하는 의문이 듭니다.

동시성 FastAPI python

답변 0

대규모 크롤링 시 동시 요청 수 제어 방법

0

116

2

AWS LighSail 접근 불가

0

149

1

강의상의 readme와 배포되어 있는 것이 다른 것 같아요

0

113

1

book_scraper.py 에서 import get_secret 관련 질문

0

114

1

ThreadPoolExecutor 중간에 멈추는 법

0

309

1

몽고Db 기초 질문

0

206

1

async await 문법 질문

0

244

1

멀티 스레딩 질문..

0

200

1

교안 제공은 안되나요?

0

232

1

TypeError: field Config is defined without type annotation

0

265

1

RuntimeWarning: Enable tracemalloc to get the object allocation traceback

0

1733

1

jinja2templates

0

254

1

몽고DB 설정 관련 질문

0

253

1

비동기 함수를 동기적인 실행으로 만드는 부분 질문입니다

1

327

2

proxy 사용 질문

0

273

1

AWS Lightsail SSL handshake failed 오류 문의드립니다.

0

506

1

동시성과 병렬성

0

334

1

python select linter ? 오류

1

748

2

수업질문

1

356

1

response 객체에서 키값으로 조회 시 KeyError 발생

0

580

1

from config import get_secret 질문

0

393

1

파이썬 코루틴활용 영상 질문

0

286

1

가상환경 설정 질문

0

326

1

pydantic import error

0

1236

2