python中event.wait()函数的返回值是多少?

时间:2013-03-02 11:56:50

标签: python multithreading

假设我有这段代码

def wait_for_event(e):
    """Wait for the event to be set before doing anything"""
    logging.debug('wait_for_event starting')
    event_is_set = e.wait()
    logging.debug('event set: %s', event_is_set)

e.wait()

返回的值是多少

我不明白

有些事情也没有告诉我,事件是如何发送给线程的。

假设我的网页下载了每页都有管理员名称的网页。

现在这个名字被编辑了我的人。

现在我的thread 10首先得到了那个chnage,现在我想向所有线程发送带有新name的通知,以便他们可以在代码中更改

我该怎么做

2 个答案:

答案 0 :(得分:1)

由于e.wait()没有超时,因此该方法始终返回True。这在documentation

中有详细说明
  

wait([timeout])

     

阻止内部标志为真。如果内部标志为真   进入,立即返回。否则,阻塞直到另一个线程调用   set()将标志设置为true,或者直到发生可选的超时。

     

当超时参数出现而不是None时,它应该是a   指定操作超时的浮点数   秒(或其中的分数)。

     

此方法在退出时返回内部标志,因此它将始终返回   返回True,除非给出超时并且操作超时。

答案 1 :(得分:0)

wait([timeout])

阻止内部标志为真。如果输入时内部标志为真,则立即返回。否则,阻塞直到另一个线程调用set()将标志设置为true,或者直到发生可选的超时。

当超时参数出现而不是None时,它应该是一个浮点数,指定操作的超时(以秒为单位)(或其中的分数)。

此方法在退出时返回内部标志,因此除非给出超时且操作超时,否则它将始终返回True。

在版本2.7中更改:以前,该方法始终返回无。