zoukankan      html  css  js  c++  java
  • python 线程

    # THREAD 线程
    t = threading.Thread(target=test,args=('test',))
    t.setDaemon(True)#t设为守护线程,在主线程生命周期结束时结束,主线程会在其他非守护线程结束后结束,并且需要在启动前设置
    t.start()#启动线程
    t.join(10)#主线程等待子线程(t)执行10s(缺少则是线程结束)后执行
    t.setName('test')#设置线程名称
    threading.currentThread()#获取当前线程
    threading.enumerate()#枚举当前所有活跃线程


    # LOCK 互斥锁 (主要用于同步块同步)

    lock = threading.Lock()
    lock.acquire()#获取锁
    #同步块
    lock.release()#释放锁

    # EVENT 同步对象(主要用于等待其他线程通知执行时执行)

    
    
    event = threading.Event()
    event.set() #线程中设置标识符为True
    event.wait()#线程中等待标识符为True时执行
    event.clear()#线程中设置标识符为False

    # 同步块信号量

    
    
    '''
    每当调用acquire()时,内置计数器-1
    每当调用release()时,内置计数器+1
    计数器不能小于0,当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。
    '''
    semaphore = threading.Semaphore(5)
    semaphore.acquire()
    # 同步块
    semaphore.release()
  • 相关阅读:
    Python+MySQL学习笔记(一)
    MySQL的基本操作
    2016.08.15
    使用vue为image的src动态赋值
    json对象与json字符串的转化
    js三元运算符
    uniapp vue中的短信验证码
    设计模式
    回调函数
    自定义注解
  • 原文地址:https://www.cnblogs.com/lides/p/11183801.html
Copyright © 2011-2022 走看看