zoukankan      html  css  js  c++  java
  • 线程

    线程  :

      开启线程:

      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的阻塞

        

  • 相关阅读:
    java 集合框架
    java 迭代器遍历List Set Map
    java 容器 List
    OpenLayer4实现卷帘效果
    python结合百度api进行地理编码和爬取POI点
    ArcGIS API For JS空间参考系的浅析
    OpenLayer4加载svg
    OpenLayer3动态点线和动态点的扩散实现
    LeaFlet学习之地图文字标注
    装饰器设计模式
  • 原文地址:https://www.cnblogs.com/wy3713/p/9392011.html
Copyright © 2011-2022 走看看