擅长:python、mysql、java
<p>对于第一个解决方案:你不应该使用私有方法,因为它可以改变,而且无论如何都是不好的形式。另外,线程不应该冷停;应该给线程内的进程一个先清理的机会,然后自己响应终止请求。在</p>
<p>对于第二种解决方案:抽象类在Python上的通用性和必要性都不如Java等其他语言。如果您的<code>TerminatableThread</code>本身就是线程操作的抽象类,为什么不直接向它添加<code>terminated</code>行为呢?在</p>
<pre><code>class TerminatableThread(threading.Thread):
def __init__(self, *args, **argv):
super.__init__(self, *args, **argv)
self.terminated = False
# Note: not actually thread-safe
def terminate(self):
self.terminated = True
</code></pre>
<p><strong>编辑:</strong>您删除了“抽象类”建议,但我将使用某种线程安全标志机制。线程事件听起来可能会这样做,所以我将使用该选项。在</p>