zoukankan      html  css  js  c++  java
  • PY3_线程红绿灯(请遵守交通规则)

    # Author:jum_
    # event 事件监测 红灯停绿灯行 线程标志位
    # 事件主要提供了三个方法wait、clear、set
    # clear:将“Flag”设置为False
    #set:将“Flag”设置为True
    # wait:等待设置标志位
    import threading,time
    event = threading.Event() #实例化一个事件
    def lights():
    conten = 0 #初始化一个变量
    event.set() #设置事件标志位
    while True:
    if conten >5 and conten<10:
    event.clear() #清空标志位
    print("红灯")
    elif conten >10:
    event.set() #设置标志位
    conten = 0 #清零
    else:
    print("绿灯") #事件触发时为绿灯
    time.sleep(1)
    conten+=1
    def Car(name):
    while True:
    if event.isSet(): #判断设置标志位
    print("[%s]runing...."%name)
    time.sleep(1)
    else:
    print("[%s]stop..." % name)
    event.wait() #等待标志位设定


    lg = threading.Thread(target=lights,)
    lg.start()

    byd = threading.Thread(target=Car,args=("byd",))
    byd.start()


  • 相关阅读:
    字符串分割并按大小排序
    为人之气
    RMQ
    线段树
    算法中的数学
    动态规划(DP)
    图的表示
    广度优先搜索(BFS)
    深度优先搜索(DFS)
    MyBatis(3.2.3)
  • 原文地址:https://www.cnblogs.com/jum-bolg/p/9297397.html
Copyright © 2011-2022 走看看