我正在使用Suds从Python访问SOAP Web服务。如果我有多个线程.Thread执行线程,它们每个都可以安全地同时访问同一个suds.client.Client实例,还是必须为每个线程创建单独的Client对象?
据我所知,它们不是线程安全的。只要您使用队列或线程池,就可以安全地使用相同的客户端对象。这样,当一个线程完成与客户端的操作后,下一个线程就可以使用它。但是对于基于网络的事件,您应该考虑哪种方式更好。使用线程还是异步网络编程?最近有一个补丁提议用于支持异步套接字,以便与基于事件的软件包(如Twisted、greenlets等)一起使用。具体请参见SUDS的补丁。