작성
·
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만 써도 되는 거고요.
둘 다 결국 같은 일 하는 건데 패턴이 다른 것뿐이죠?