簡體   English   中英

`asyncio.new_event_loop` 的用例是什么?

[英]What are the use cases for `asyncio.new_event_loop`?

我意識到new_event_loop如果循環不存在則由get_event_loop調用 - 我想知道除了典型的 get_event_loop 之外或代替典型的get_event_loop是否有可能調用new_event_loop的原因。

似乎new_event_loop可用於:

  1. 在單個應用程序中有多個事件循環。
  2. 在一個人被殺死后創建一個新的事件循環。

不過,我想不出一個很好的理由來做這些。 你們遇到過顯式調用new_event_loop的用例嗎?

顯式事件循環創建主要用於兩種情況:

  • 您需要在主線程之外運行事件循環。 這是醫生在說什么:

默認策略將上下文定義為當前線程,並為與異步交互的每個線程管理一個事件循環。 如果當前線程還沒有與之關聯的事件循環,則默認策略的 get_event_loop() 方法會在從主線程調用時創建一個,否則會引發 RuntimeError

  • 您希望在單個應用程序中使用自定義策略(例如,使用同一應用程序支持不同平台的不同實現)。 您可以 在此處閱讀有關政策的信息。

基本上,如果您想更改默認事件循環類型,則需要策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM