Python의 aiohttp는 정말 싱글 쓰레드로 작동할까?
회사에서 파이썬을 이용한 간단한 프로젝트를 하던 도중, aiohttp를 사용하면서 이상한 점을 하나 발견했습니다. http 요청 작업시에 메인 쓰레드를 제외한 여러개의 쓰레드가 추가로 사용되는 것이었는데요, 파이썬의 비동기 작업은 기본적으로 싱글 쓰레드 위에서 비동기 코루틴을 이용해 구현되는게 정상인데, 이게 무슨 일인가 싶어 aiohttp쪽 코드를 뒤져보았습니다. 해답은 DNS Resolver 코드에 있었는데요, aiohttp/resolver.py 코드를 보면 아래와 같은 구문이 있습니다. DefaultResolver = AsyncResolver if aiodns_default else ThreadedResolver aiodns_default가 False인 경우, DNS Resolving을 위해 멀티 ..
insoooo
2019. 6. 8. 16:39
개발/Python
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday