2
我剛剛得知Twisted使用單線程來處理事件。因此,您必須設計非阻塞事件處理程序,理想情況下它們必須在另一個事件觸發之前完成。要求使用延遲對象來實現阻塞例程。Twisted中激活的多個事件
現在,假設您正在處理一個事件,並且另一個事件被激活。
對這種情況的合理反應是對新事件進行排隊並等待直到運行處理程序結束。
這是Twisted引擎內部發生的事情嗎?
我剛剛得知Twisted使用單線程來處理事件。因此,您必須設計非阻塞事件處理程序,理想情況下它們必須在另一個事件觸發之前完成。要求使用延遲對象來實現阻塞例程。Twisted中激活的多個事件
現在,假設您正在處理一個事件,並且另一個事件被激活。
對這種情況的合理反應是對新事件進行排隊並等待直到運行處理程序結束。
這是Twisted引擎內部發生的事情嗎?
您誤會了操作系統如何將事件傳遞給Twisted。在大多數API中,您必須主動將事件從某種類型的隊列中拉出來,發生時不會立即收到警報。在通知立即發生(來自信號或來自另一個線程)的情況下,Twisted將它們排隊在主線程上。
所以,從你作爲使用Twisted的程序員的角度來看,你的問題的答案只是「是」,但Stack Overflow讓我把更多的單詞放在它被認爲是有效的答案:)。