zoukankan      html  css  js  c++  java
  • 线程进程,信号量,event事件,定时器,RLock,quene.Quene

    cpu进程,核线程,都是并发几个

    全局解释锁,多核cpu优势削弱

    RLock用法与Lock一致,但是可以允许开启多个锁,但是也要关闭后,别的进程才能打开

    信号量也是锁但是是一次可以进去几个、

    Seamaphore() 用法与Lock一致

    Event好处是可以唤醒

       事件
    # 是用于协调多个线程工作的,当一个线程要执行某个操作,需要获取另一个线程的状态
    # 你要给别人打电话 必须明确知道对方手机买好了
    # 作为客户端 要连接服务器 必须明确服务器已经启动了,那么作为启动服务器的一方 如何告知客户端?
    # 就通过事件
    e = Event() #默认False
    def start():

    print("正在启动服务器......")
    time.sleep(5)
    print("服务器启动成功!")
    e.set() # 就是把事件的值设置为True

    def connect():
    # 重试3次
    for i in range(5):
    print("等待服务器启动....")
    e.wait(1) # 会阻塞 直到对方把事件设置为True
    if e.isSet():
    print("连接成功!")
    break
    else:
    print("连接失败")
    else: #如果3次都没成功 就打印这个消息
    print("服务器没有启动")

    Thread(target=start).start()
    Thread(target=connect).start()





    定时器

    from threading import Timer

    def task():
    print('tuyiu')
    q=Timer(1,task)
    q.start()

    线程队列

    quene.Quene

  • 相关阅读:
    SKPhysicsJointPin类
    SKPhysicsJointLimit类
    SKPhysicsJointFixed类
    SKPhysicsJoint类
    SKPhysicsContact类
    SKPhysicsBody类
    SKLabelNode类
    SKNode类
    SKKeyframeSequence类
    Unique Paths II
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10506426.html
Copyright © 2011-2022 走看看