오늘은 asyncio의 장점과 단점을 알려드리겠습니다. 비동기 IO를 배우려면 코루틴과 asyncio를 알아야 합니다. 그러면 asyncio가 정확히 무엇인가요? 비동기오를 어떻게 사용하나요? 아래에서 하나씩 답변해드리겠습니다
장점
비동기 IO 작업에 사용하기 매우 쉽습니다
Programmingmodel이 더 간단하고 부담이 상대적으로 적습니다.
asyncio를 사용하여 이벤트 루프를 얻으세요
그런 다음 이 항목(코루틴)이 루프에 채워져 있습니다
운영 체제는 여전히 단일 스레드로 보이지만 거시적 관점에서는 "다중 동시성"으로 보입니다(모든 언어는 거의 다음과 같습니다. 사용자 모드 모델의 멀티 스레드)
단점
생태가 미성숙하고(aio-libs가 있지만) 요청과 같은 라이브러리에도 해당 구현이 있으면 좋을 것입니다(인기도 높을 것임)
전제: 앱은 앞에서부터 뒤로 빌드해야 합니다. 모두 비동기식이어서 많은 레거시 프로젝트에 부담이 됩니다
gevent + Python 2
많은 프로젝트가 Python 2를 기반으로 하며 gevent를 사용하면 효과는 다음과 같습니다. 당연합니다
유일한 걱정은 gevent가 할 것이라는 점입니다. 패치(표준 라이브러리 해킹)도 많고, 보이는 것은 블랙박스이므로 걱정할 수밖에 없습니다. gevent의 효율성이 반드시 asyncio보다 낮지는 않습니다. + async def.
프레임워크(저는 표준 라이브러리의 것을 선호합니다), async def/await를 기본 설계 방법으로
aio-libs에서 다양한 libs를 사용합니다(처음부터 비동기여야 합니다). 끝까지!)
믿거나 말거나 이 사례를 읽고 나면 방법을 익혔을 것입니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
관련 읽기:CSS 웹페이지 정렬 오류를 처리하는 방법
위 내용은 asyncio의 장점과 단점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!