네이티브 코루틴
-
[Python] 비동기 프로그래밍을 돕는 asyncio 라이브러리Programming Language/Python 2021. 5. 29. 00:31
비동기 프로그래밍을 돕는 asyncio 라이브러리 asyncio(Asynchronous I/O) 파이썬은 인터프리터 언어의 특성과 함께 속도가 느린 언어로 알려져있습니다. 그렇기에 비동기로 처리해 속도를 높이는 방법은 파이썬의 단점을 극복하는 하나의 해답이 됩니다. 다만, 파이썬에는 멀티스레드에서 발생하는 복잡한 문제들을 막기 위한 GIL(Global Interpreter Lock)이 존재하고, 이로 인해 항상 한 번에 하나의 스레드만 작업을 수행할 수 있어 진정한 의미의 멀티스레딩은 실현되기 어렵습니다. GIL은 보다 복잡한 문제를 막기 위한 심플하고 효과적인 방법이지만, 파이썬의 한계점이자 파이썬이 태생적으로는 비동기 프로그래밍에 적합하지 않은 언어임을 보여주죠. 한계가 뚜렷함에도 파일 읽기 및 쓰기..