linux - Python中aysncio的事件循环是属于线程还是进程?
伊谢尔伦
伊谢尔伦 2017-04-18 10:23:05
0
1
859

默认的get_event_loop获取的loop是基于线程还是进程,找了很久的官方文档才找到这么一句描述,看起来是属于当前线程的?

18.5.2.4. Event loop policies and the default policy
For 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.

那么官方文档提供的另外两个获取事件循环(下面的pre块)方法一般用于什么地方?关于事件循环尝试看了源码但涉及到多路IO复用问题遂放弃,求各位网友的指点?

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(1)
伊谢尔伦

これはコルーチン、つまりユーザー モード スレッドに属し、単一のカーネル スレッド上で複数のユーザー スレッドを分割します。これは、同期書き込みを使用して非同期を実現できる高度な構文糖です。エフェクト (IO 多重化 メンテナンスの状態はかなりひどいので、メンテナンスを手伝ってもらうために asyncio に任せます)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート