簡體   English   中英

Python GIL:並發C ++嵌入

[英]Python GIL: concurrent C++ embed

可以將嵌入到C ++中的python允許您同時運行n個python腳本嗎?

我目前正在處理GIL恐懼症。 我的項目需要至少2個線程的並發性,而在Python中輕松鍵入將真正有助於簡化代碼。

是否將我的Python代碼嵌入處理線程的C ++腳本中,以規避GIL引起的問題?

嵌入到c ++中的python是否可以讓您同時運行n個python腳本?

您完全不需要做任何事情就能同時運行多個Python 腳本 GIL對於解釋器而言是本地的,因此,如果您運行多個解釋器進程,則GIL不會阻止它們同時執行。

如果這是一個錯字,並且您是指線程,那么可以,您可以從Python調用C或C ++代碼來解決GIL。 有關相關API的詳細信息,請參見線程狀態和全局解釋器鎖

僅當您生成單獨的解釋器時。 GIL是一種針對每個解釋器的策略,旨在保護解釋器內部。 一位口譯員一次只能運行一行。

唯一的其他方法是用純C ++至少編程一個線程,並為python腳本提供通信隊列API或任何真正異步通信的方法。

暫無
暫無

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

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