当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Event clear()用法及代码示例


Python Event.clear() 方法

clear() 是 Python 中线程模块的 Event 类的内置方法。

当。。。的时候clear()方法被调用,该事件类对象的内部标志被设置为 false。作为clear()方法被一个对象调用,所有调用 wait() 的线程都会阻塞,直到set()被调用以再次设置内部标志为真。

模块:

    from threading import Event

用法:

    clear()

参数:

  • None

返回值:

这个方法的返回类型是<class 'NoneType'>.该方法不返回任何内容。它只将当前事件对象的内部标志设置为 false。

例:

# Python program to explain the
# use of clear() method in Event() class
import threading
import time

def helper_function(event_obj, timeout, i):
  print("Thread started, and event is also set to true")
  # Sleeping for 8 second()
  time.sleep(8)
    
  flag = event_obj.wait(timeout)
  if flag:
    print("Event has set to true(), moving ahead with the thread")
  else:
    print("Time out occured, event internal flag still false. Executing thread without waiting for event")
    print("Value to be printed=", i)
    
if __name__ == '__main__':
  # Initialising an event object
  event_obj = threading.Event()
  
  # starting the thread who will wait for the event
  thread1 = threading.Thread(target=helper_function, args=(event_obj, 7, 30))
  # generating the event and setting to true
  event_obj.set()
  thread1.start()
  time.sleep(2)

  # Setting the event internal flag to false
  event_obj.clear()
  print("Event is set to false by clear() method")

输出:

Thread started, and event is also set to true
Event is set to false by clear() method
Time out occured, event internal flag still false. Executing thread without waiting for event
Value to be printed= 30


相关用法


注:本文由纯净天空筛选整理自 Python Event Class | clear() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。