线程

线程  :

  开启线程:

  from threading import Thread

  t = Thread(target = func, args  =(i,)

  t.start() # 开始线程

  t.clock() # 关闭向操作系统申请线程

  Thread的方法:

    锁  : 

      互斥锁  Lock

        在一个线程中不能连续多次使用acquire

        lock = Lock() #创建一把锁

        lock.acquire()获取钥匙

        lock.release()归还钥匙

      递归锁 RLock

        在一个线程中可以多次使用acquire

        可以快速回复死锁的服务

        lock = RLock() #创建一把递归锁

        lock.acquire()

        lock.release()

 

   信号量 Semaphore:  互斥锁+计数器

      s = Semaphore(5) #限制几个线程同时获取锁的钥匙

   事件 Event 

    e = Enent() 创建一个事件

    e.wait() #等待状态True 非阻塞

    e.set() 设置信号变成True

    e.clear() 设置信号变成False

    is_set  查看信号是否为True

   定时器 : Timer

      t = Timer(0.5,func) # 创建线程时候就规定多久执行

  条件 : Condition

  acquire  获取钥匙

  release 归还钥匙

  wait  阻塞

  notify  解除wait的阻塞

    

 

posted @ 2018-07-30 18:10  Begin_Again  阅读(122)  评论(0编辑  收藏  举报