2013-03-02 69 views
1

假设我有这样的代码是什么event.wait在蟒蛇的返回值()函数

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我的所有线程发送通知,让他们可以改变他们的代码

我怎么能做到这一点

回答

1

由于e.wait()没有超时,所以该方法始终返回True。这是在documentation阐明:

wait([timeout])

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

当超时参数存在而非无时,它应该是一个 浮点数,指定 秒(或其分数)中的操作超时。

该方法在退出时返回内部标志,所以它总是会返回True,除非给定超时并且操作超时。

+0

这是什么用途,我的意思是为什么我们使用它 – user192362127 2013-03-02 12:18:03

0

wait([timeout])

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

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

该方法返回退出时的内部标志,所以它总是会返回True,除非超时并且操作超时

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