2

感覺需要學習如何使用asyncio,但不能想到可以幫助我學習這種新技術的適用問題(或問題集)。Python asyncio培訓練習

你能提出一個問題,可以幫助我理解和學習實踐中的asyncio用法嗎?

換句話說:你能否給我一個抽象問題或應用程序的例子,它在編碼時會幫助我學習如何在實踐中使用asyncio。

謝謝

+0

嘗試實施[netcat](http://netcat.sourceforge .net /)使用[cat](https://en.wikipedia.org/wiki/Cat_%28Unix%29),[asyncio subprocess](https://docs.python.org/3/library/asyncio-subprocess .html)和[asyncio streams](https://docs.python.org/3/library/asyncio-stream.html)。或者[網絡爬蟲](http://aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html)。 – Vincent

+0

謝謝。將盡力做到這一點。 – Xeizzen

+0

編寫蒐集器,收集站點上的所有鏈接,從主頁開始(選擇要測試的小站點)。爬蟲應該並行地請求URL(例如,使用aiohttp,請參閱https://stackoverflow.com/a/35900453/1113207)。使用信號量來限制並行連接的數量。 https://docs.python.org/3/library/asyncio-sync.html#asyncio.Semaphore –

回答

2

任何I/O密集型的任務將是ASYNCIO一個很好的例子。在網絡編程環境中 - 任何需要同時處理數千個連接的應用程序。 Web服務器,網絡爬蟲,聊天后端,MMO遊戲後端,洪流跟蹤等。但請記住,您應該一路異步並使用異步版本的所有執行阻止I/O的庫,如數據庫驅動程序等。