擅长:python、mysql、java
<p>您可以保留这个想法,但是添加一个列表或任何东西来保存未使用的socked fd,这样您就不必迭代字典来找到第一个可用的“None”。从“不忙”列表中选择第一个(或最后一个)空闲进程时,将从中删除。E、 g</p>
<pre><code># d is the dictionary
# notbusy is a list
d[ notbusy.pop() ] = ... # init the socket
</code></pre>
<p>当然,您必须检查notbusy是否不是空的(如果愿意,可以尝试catch);如果是,则没有可用的空闲“slot”,并且无法连接。当一个已使用的插槽被“释放”时,您将其设置为None并将其键添加到列表notbusy中。在</p>