擅长:python、mysql、java
<p>一般来说,<code>self.model.optimize(self.mycallback)</code>应该可以工作(注意:在<code>mycallback</code>之后没有paren)。</p>
<p>如果代码序列化可调用,例如通过管道/套接字发送到另一个进程(即使在不同的计算机上),则可能会失败:</p>
<pre><code>from multiprocessing import Pool
class C:
def method(self, i):
return "called", i
if __name__=="__main__":
print(Pool().map(C().method, range(10)))
</code></pre>
<p>它适用于最新的Python版本,其中的方法是可拾取的。</p>
<p>或者,如果<code>model.optimize()</code>有一个bug并检查确切的函数类型,而不是接受任何可调用的函数类型,那么它可能会失败。</p>