擅长:python、mysql、java
<p>您将调用<code>getresults</code>两次,两次都引用同一个全局<code>threads</code>列表。这意味着,当您第一次调用<code>getresults</code>时,线程将启动。</p>
<p>当您第二次调用它们时,前面已经在运行的线程将再次调用<code>.start()</code>方法。</p>
<p>您应该将<code>getresults</code>中的线程作为本地线程启动,然后将它们附加到全局<code>threads</code>列表中。</p>
<p>尽管您可以执行以下操作:</p>
<pre><code>for thread in threads:
if not thread.is_alive():
thread.start()
</code></pre>
<p>它不能解决这个问题,因为一个或多个线程可能已经结束,因此将重新启动,因此将导致相同的错误。</p>