linux - Python中aysncio的事件循環(huán)是屬于線程還是進(jìn)程?
問(wèn)題描述
默認(rèn)的get_event_loop獲取的loop是基于線程還是進(jìn)程,找了很久的官方文檔才找到這么一句描述,看起來(lái)是屬于當(dāng)前線程的?
18.5.2.4. Event loop policies and the default policyFor most users of asyncio, policies never have to be dealt with explicitly, since the default global policy is sufficient. The default policy defines context as the current thread, and manages an event loop per thread that interacts with asyncio. The module-level functions get_event_loop() and set_event_loop() provide convenient access to event loops managed by the default policy.
那么官方文檔提供的另外兩個(gè)獲取事件循環(huán)(下面的pre塊)方法一般用于什么地方?關(guān)于事件循環(huán)嘗試看了源碼但涉及到多路IO復(fù)用問(wèn)題遂放棄,求各位網(wǎng)友的指點(diǎn)?
loop = asyncio.new_event_loop()asyncio.set_event_loop(loop)
問(wèn)題解答
回答1:屬于協(xié)程,即用戶態(tài)線程,在單條內(nèi)核線程上分出多個(gè)用戶線程,本質(zhì)還是單線程,算是一個(gè)高級(jí)語(yǔ)法糖,讓你可以用同步的寫法實(shí)現(xiàn)異步的效果(io多路復(fù)用維護(hù)起狀態(tài)來(lái)是相當(dāng)惡心的,現(xiàn)在交由asyncio來(lái)幫你維護(hù)了)
相關(guān)文章:
1. phpstudy8.1沒(méi)集成mysql-front2. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””3. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法4. html5 - datatables 加載不出來(lái)數(shù)據(jù)。5. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題6. docker鏡像push報(bào)錯(cuò)7. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。8. javascript - QQ第三方登錄的問(wèn)題9. 前端 - @media query 使用出現(xiàn)的問(wèn)題?10. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????

網(wǎng)公網(wǎng)安備