簡體   English   中英

嵌入Python線程安全

[英]Embedding Python thread safe

我正在嘗試在用於車輛總線系統分析軟件的模塊中使用Python。 為此,我必須以線程安全的方式嵌入Python,因為模塊的多個實例可以獨立工作。 我可以使用互斥量來保護對Python的所有訪問,並為每個線程創建一個唯一的(python)模塊。 顯然,這是最簡單的方法,但代價是無法跨多個內核進行擴展。 或者,我可以修改我的模塊以產生新的進程,該進程使用Intern使用Python並通過共享內存連接到它們。 這給我帶來了性能上的損失,並且花費了更多的時間來實現,但是規模卻很大。

我的問題:你認為巫婆更有意義嗎? 有沒有其他方法可以安全地嵌入Python線程,甚至可以跨多個內核擴展。

親切的問候莫里茨

編輯:我正在使用CPython

如果您受CPU限制,則Python只能使用多處理庫擴展到多核。 但是,如果您受I / O約束,那么線程通常就足夠了。

如果您想要簡單的線程安全性,則將Queue用於所有消息傳遞。

為了回答我的問題:我繼續使用帶有Intern use Python的Process來實現它。 可以在這里找到為什么多處理庫無濟於事的好文字: http : //pkaudio.blogspot.com/2010/04/whey-multiprocessing-doesnt-always-work.html這不是我自己寫的,但那個人有和我一樣的問題。 感謝所有試圖幫助我的人。

暫無
暫無

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

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