[英]Is Python's SOAPpy library threadsafe?
Python 的 SOAPpy 庫的線程安全性如何? 我發現文檔不存在,並且在任何地方都沒有提到線程安全(支持或反對)。
具體來說,線程可以共享一個 SOAPpy.SOAPProxy object,調用不同的 RPC嗎? 例如,
client = SOAPpy.SOAPProxy(url)
thread1: client.MyFunc()
thread2: client.MyFunc()
沒有不良影響?
此外,代理對象的構建是否昂貴?
SOAPpy.SOAPProxy
似乎不是線程安全的。 在 0.12.0 版本的__call
方法中,有一個賦值( Client.py
第 360 行):
r, self.namespace = self.transport.call(self.proxy, m, ns, sa,
encoding = self.encoding,
http_proxy = self.http_proxy,
config = self.config)
因此,如果從 2 個不同的線程調用client.MyFunc()
,它們將創建單獨的連接,但都會為self.namespace
屬性分配一個值。
從好的方面來說,為每個線程構造一個 SOAPProxy 實例應該非常有效。 我能夠在大約 1 毫秒內在虛擬機上創建 100 個實例,與 SOAP 請求往返時間相比應該很小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.