日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python线程中再起线程_多线程 - Python中的线程化

發布時間:2025/3/20 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python线程中再起线程_多线程 - Python中的线程化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于Kamaelia,上面的答案并沒有真正涵蓋這里的好處。 Kamaelia的方法提供了一個統一的界面,這個界面非常實用,用于處理線程,生成器和處理器。 單個系統中的進程用于并發。

從根本上說,它提供了一個運行物品的隱喻,它有收件箱和發件箱。 您將消息發送到發件箱,當連接在一起時,消息從發件箱流向收件箱。 無論您是使用生成器,線程或進程,還是與其他系統通信,這個比喻/ API都保持不變。

“不完美”的部分原因是由于尚未為收件箱和發件箱添加語法糖(雖然這正在討論中) - 重點是系統的安全性/可用性。

以上面使用裸線程的生產者消費者為例,這在Kamaelia中就是這樣:

Pipeline(Producer(), Consumer() )

在這個例子中,如果它們是線程組件或其他方面并不重要,唯一的區別是它們之間從使用角度來看是組件的基類。 Generator組件使用列表,使用Queue.Queues的線程組件和使用os.pipes的進程進行通信。

這種方法背后的原因是讓難以調試錯誤。 在線程 - 或任何共享內存并發性中,您面臨的首要問題是意外破壞共享數據更新。 通過使用消息傳遞,您可以消除一類錯誤。

如果你在任何地方都使用裸線程和鎖,你通常會假設當你編寫代碼時你不會犯任何錯誤。 雖然我們都渴望這一點,但這種情況很少發生。 通過在一個地方包裝鎖定行為,您可以簡化出錯的地方。 (上下文處理程序有幫助,但無助于上下文處理程序之外的意外更新)

顯然,不是每一段代碼都可以寫成消息傳遞和共享樣式,這就是為什么Kamaelia還有一個簡單的軟件事務存儲器(STM),這是一個非常巧妙的想法,有一個令人討厭的名字 - 它更像是變量的版本控制 - 即 檢查一些變量,更新它們并提交回來。 如果你發生沖突,你可以沖洗并重復。

相關鏈接:

Europython 09教程

每月發布

郵件列表

例子

示例應用

可重復使用的部件(發電機和螺紋)

無論如何,我希望這是一個有用的答案。 FWIW,Kamaelia設置的核心原因是使并發更安全。 更容易在python系統中使用,沒有尾巴搖擺的狗。 (即大桶組件

我能理解為什么其他Kamaelia的答案被修改了,因為即使對我來說,它看起來更像是廣告而不是答案。 作為Kamaelia的作者,我很高興看到熱情,但我希望這包含更多相關內容:-)

這就是我的說法,請注意這個答案的定義是有偏見的,但對我而言,Kamaelia的目標是嘗試包裝IMO的最佳實踐。 我建議嘗試一些系統,看看哪個適合你。 (如果這不適合堆棧溢出,對不起 - 我是這個論壇的新手:-)

總結

以上是生活随笔為你收集整理的python线程中再起线程_多线程 - Python中的线程化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。