4
使用Python的gevent記錄跨越多個正在運行的協程/ microthreads/Greenlets的事件的最佳方法是什麼?使用Gevent記錄多個協同程序/ greenlets/microthreads?
我想記錄的示例事件可能包括創建新的連接或將連接丟棄到套接字服務器。
沿着這樣的思路 - 是否有可能'衍生'協同程序登錄到同一個文件?由於可能對該文件進行併發寫入嘗試,這甚至是可取的嗎?
使用Python的gevent記錄跨越多個正在運行的協程/ microthreads/Greenlets的事件的最佳方法是什麼?使用Gevent記錄多個協同程序/ greenlets/microthreads?
我想記錄的示例事件可能包括創建新的連接或將連接丟棄到套接字服務器。
沿着這樣的思路 - 是否有可能'衍生'協同程序登錄到同一個文件?由於可能對該文件進行併發寫入嘗試,這甚至是可取的嗎?
那麼,你*可以*寫*從greenlet的文件,如果你確定他們被序列化。 –
@Denis你可以擴展嗎? – Archie1986
@ Archie1986從不同的greenlet寫入同一個文件的「併發」並不是真正的併發,因爲文件I/O被阻塞,但不能像使用套接字I/O那樣使其成爲「綠色」。但是,在大多數情況下,它通常足夠快。因此,即使您有併發的greenlet寫入同一個文件,在任何給定的時間,最多隻有一個greenlet實際上正在寫入文件。 –