擅长:python、mysql、java
<p>我建议将<code>Queue.Queue</code>替换为<code>collections.deque</code>。<code>Queue</code>类用于线程之间的同步通信,因此当用作常规数据结构时,它将有一些不必要的开销。<code>collections.deque</code>是一种更快的选择。(“deque”的发音是“deck”,意思是“双端队列”。)</p>
<p><code>deque</code>类与<code>Queue</code>类型有不同的API,但是在它们之间转换应该非常容易。用<code>deque.append</code>代替<code>Queue.put</code>,用<code>deque.popleft</code>代替{<cd10>}(或者{<cd11>}和{<cd12>},如果你想换个方向的话)。不要调用<code>Queue.empty</code>,只需使用一个<code>deque</code>实例作为布尔值(就像测试空列表一样)。在</p>
<p><code>deque</code>可选择实例:</p>
<pre><code>>>> import collections, pickle
>>> q = collections.deque(["test"])
>>> pickle.dumps(q)
b'\x80\x03ccollections\ndeque\nq\x00]q\x01X\x04\x00\x00\x00testq\x02a\x85q\x03Rq\x04.'
</code></pre>