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


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


Python Event.is_set() 方法

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

一个事件类对象管理一个内部标志,它的值可以被这个类的其他方法改变。is_set()如果事件对象的内部标志为真,则函数返回真,否则返回假。

模块:

    from threading import Event

用法:

    is_set()

参数:

  • None

返回值:

这个方法的返回类型是<class 'bool'>.如果当前事件类对象的内部标志为真,则返回真,否则返回假。

例:

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

def helper_function(event_obj, timeout, i):
  # Thread has started, but it will wait 4 seconds 
  # for the event  
  print("Thread started, for the event to set")
  print("Is the event set to true now?", event_obj.is_set())

  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, 4, 30))
  thread1.start()
  # sleeping the current thread for 5 seconds
  time.sleep(5)
  
  # generating the event
  event_obj.set()
  print("Is the event set to true now?", event_obj.is_set())
  print("Event is set to true. Now threads can be released.")

输出:

Thread started, for the event to set
Is the event set to true now? False
Time out occured, event internal flag still false. Executing thread without waiting for event
Value to be printed= 30
Is the event set to true now? True
Event is set to true. Now threads can be released.


相关用法


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