在Python中使用Suds进行SOAP,suds.client.Client对象是线程安全的吗?

5 投票
1 回答
2149 浏览
提问于 2025-04-15 23:40

我正在用Suds从Python访问一个SOAP网络服务。如果我有多个线程在运行,是否每个线程都可以安全地同时访问同一个suds.client.Client实例,还是说我必须为每个线程创建单独的Client对象?

1 个回答

2

据我所知,它们并不是线程安全的。你可以安全地使用同一个客户端对象,只要你使用队列或线程池。这样,当一个线程用完客户端后,下一个线程就可以接着使用。

不过,对于基于网络的事件,你可能需要考虑一下哪种方式更好:使用线程还是异步网络编程?最近有一个补丁提议给SUDS,目的是让它支持异步套接字,以便与像Twisted、greenlets等事件驱动的包一起使用。

撰写回答