请大神指教:事件引擎的处理事件线程开始工作后,从事件队列取事件进行处理,但是为什么要设置仅阻塞一秒呢?一直阻塞为什么不可以呢?
请大神指教:事件引擎的处理事件线程开始工作后,从事件队列取事件进行处理,但是为什么要设置仅阻塞一秒呢?一直阻塞为什么不可以呢?
timeout=1指每阻塞1秒从线程里获取数据并进行处理,一直阻塞的话怎么拿数据呢?
可以去看一下python的queue模块。
张爱民 wrote:
请大神指教:事件引擎的处理事件线程开始工作后,从事件队列取事件进行处理,但是为什么要设置仅阻塞一秒呢?一直阻塞为什么不可以呢?
是的,我的理解是这样:如果 block=True,且 timeout=None,队列中没有数据的时候,会一直等待,一旦有数据入队列则取出数据(事件),进行处理。不知道我这样理解是否正确
timeout=1可以在没有数据的情况下返回empty异常,结合try和except可以正确地关闭任务。如果timeout=None,又没有数据可以用的话会一直处于卡住状态,无法执行下一个任务。
青青子荆 wrote:
timeout=1可以在没有数据的情况下返回empty异常,结合try和except可以正确地关闭任务。如果timeout=None,又没有数据可以用的话会一直处于卡住状态,无法执行下一个任务。
好的 感谢