inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

AsyncIO 멀티 스크랩핑 실습 (1-2)

await asyncio.sleep() 의 정확한 실행 과정이 궁금합니다

2403

vpdtlrdl

작성한 질문수 45

0

await asyncio.sleep() 코드가 어떻게 실행되는지에 대한 설명을 찾을 수가 없어 질문 드립니다

import asyncio

async def main():
    print('tim')
task = asyncio.create_task(foo('text'))
    await asyncio.sleep(1)
    print('finished')

async def foo(text):
    print(text)
    await asyncio.sleep(5)
   
asyncio.run(main())

위의 코드를 실행한 결과, 

tim

text

그리고 1초 후에 finished가 출력되었습니다.

stackoverflow에서 다음과 같은 설명을 찾을 수가 있었습니다. 

"But when you call await asyncio.sleep(), it will ask the event loop to run something else while your await statement finishes its execution."

그럼 위의 코드에서는 

task = asyncio.create_task(foo('text'))

를 통해 태스크를 예약하고 그 후에 

await asyncio.sleep(0.1)

asyncio.sleep 구문을 만나게 되는데,

왜 

async def foo(text):
    print(text)
    await asyncio.sleep(5)

속의 asyncio.sleep(5)는 코드의 진행에 어떠한 영향도 주지 못하는지 잘 이해가 가지 않습니다

await과 asyncio.sleep()의 기능과 진행 방향에 대한 설명을 부탁드리고 싶습니다

django python

답변 1

0

좋은사람

안녕하세요.

좋은 질문이예요.

쉽게 생각해서 asyncio.sleep() 호출 시 위 task가 실행된다고 보시면 됩니다.

마지막에 sleep(5)구문은 다른 태스크가 없으므로, 삭제 하셔도 결과는 똑같습니다.

 

tim

text

1초 뒤

finished

 

진도미확인 (진도가 안 넘어감)

0

51

1

RuntimeError: There is no current event loop in thread 'MainThread'

0

94

1

chapter 07-01 실행 오류

0

77

1

Chapter05-04 : sum_func의 합이 이중 출력됩니다.

0

90

2

45. 병렬성 2 - Futures(5-1) wait가 의도된 대로 동작하지 않습니다.

0

108

2

멀티스레딩 - 44. 병렬성 1 - Futures(4-2)

0

79

2

chapter05_02 클로저 질문사항 !

0

60

1

LV1 설정

0

95

2

매직 메소드의 호출 방법 차이 문의

0

139

2

왜 numbers리스트를 만들때 str으로 숫자를 감싸나요?

0

106

2

스크랩핑 실습 중 Mac OS 인증서 문제

0

137

1

AsyncIO 멀티 스크랩핑 실습 예제 관련 질문

0

176

1

강의자료가 영상과 다릅니다

0

262

2

closure.cell_contents 초기화 하기 문의

0

139

2

map함수 사용 시, list변환 방법 문의

0

352

2

__mul__ 백터 * 숫지, 백터 * 백터 처리

0

149

1

del처리후 질문입니다.

0

162

1

car_list(car1,car2,car3) 인스턴스 tuple 타입 문의

0

234

1

coroutine에 대한 질문

0

250

1

제너레이터 이터레이터 질문이 있습니다.

0

258

1

atom install package search not working

0

283

1

Magic Method - Not Implemented

0

404

1

가상환경 질문!

0

410

1

병렬처리 추가 질문이 있습니다.

0

253

1