擅长:python、mysql、java
<p>示例代码中缺少足够多的部分,因此很难得出任何确定的结论。在</p>
<h3>事件驱动方法</h3>
<p>对于这类问题,通常的方法是使其完全由事件驱动。目前,代码主要是轮询。例如,<code>sighup_handler</code>设置<code>reset_requested = True</code>和<code>main</code>中的<code>while</code>循环处理该请求。事件驱动的方法将直接处理重置,这意味着调用<code>stage_cleanup</code>:</p>
<pre><code>def sighup_handler(signal,frame):
logger.info('Caught SIGHUP, resetting to set #{0}'.format(new_selector))
stage_cleanup()
</code></pre>
<p><br/></p>
<h3>使用共享变量</h3>
<p>在示例代码中,所有这些process_阶段以及在这些阶段之间循环的目的并不清楚。所有这些都可以放在事件驱动的上下文中吗?我不知道。如果不能,并且需要共享变量,那么您对类的建议将是一个自然的选择。这样一个类的开始可能看起来像:</p>
^{pr2}$
<p>同样,由于轮询循环的真正用途我不清楚,所以我没有尝试在上面的类中重现它的功能。在</p>