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()
  • 相关阅读:
    第二周之Hadoop学习(二)
    Java课程----自我介绍
    关于最大子序和的算法问题
    记账本----完结
    《人月神话》读后感----四
    记账本----四
    记账本----四
    《人月神话》读后感------三
    记账本------三
    家庭记账本----二
  • 原文地址:https://www.cnblogs.com/lides/p/11183801.html
Copyright © 2011-2022 走看看