인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

RokiePlayer님의 프로필 이미지
RokiePlayer

작성한 질문수

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

async 키워드 사용법

작성

·

199

0

6챕터를 강의하실 때, 

코루틴에서 

python 3.5 이상의 버전에서 <br>

- def -> async 

- yield -> await (StopIteration 자동처리)

 

대체할 수 있다. 완전 비동기할 때는 짝을 맞춰야 하지만

def를 그냥 사용하면 그냥 함수인지 아닌지 알기 힘들어서 사용한다.

 

이렇게 배웠습니다.

그래서  from concurrent import futures를 사용하는 예제 def 앞에서 async를 써봐도 작동이 됐습니다.

그러나 asyncio를 사용하는 예제에서 async를 지웠더니 await를 사용하면 반드시 같이 써야 하는 거 같습니다.

 

그러나까 futures, asyncio는 모두 병행성(한 쓰래드인데 여러작업을 동시에 번갈아 빠르게 하는 것)을 수행하지만

asyncio는 I/O계열의 일을 더 잘하는 패키지이고 반드시 async와 await, as_completed와 짝을 맞추어서 써야 한다는 거죠?

반대로 futures는 async를 안 쓰고 그냥 def, yield만 써도 되는 거고요.

 

둘 다 결국 같은 일 하는 건데 패턴이 다른 것뿐이죠?

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 반드시 문법에 맞게 페어하게 써주셔야 되요!

future도 내부적으로 비동기 적으로 서비스를 제공하는 패키지 입니다.

잘 이해하셨네요!

RokiePlayer님의 프로필 이미지
RokiePlayer

작성한 질문수

질문하기