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

        

  • 相关阅读:
    爬虫大作业
    作业
    新练习
    爬虫新练习
    最新操作
    小练习
    Hadoop综合大作业
    理解Mapreduce
    熟悉常用的HBase操作
    第三章 熟悉常用的HDFS操作
  • 原文地址:https://www.cnblogs.com/wy3713/p/9392011.html
Copyright © 2011-2022 走看看