zoukankan      html  css  js  c++  java
  • python的线程thread笔记

      python的线程是用thread和threading来实现的。其中利用threading会更好,因为thread没有线程保护,当主线程退出了之后,子线程也会被强行退出。threading支持守护线程。

      thread中常用的方法:thread.allocate_lock() 是返回一个新的锁定的对象

                 acquire()/release()  是原始锁的两种状态,锁定和解锁,是对上面建立的锁定的对象进行的操作。

                 thread.start_new_thread(func,(func的参数))是建立一个新的线程,其中的前两个参数一定要填,如果函数不需要参数就传入一个空的元组。

      threading的使用:

    创建一个线程:

    threading.Thread(target = youfunc,args = (your func's args))

        

    start()

      开始线程活动

    join()

      等待线程终止

      所有的线程都创建了之后,再一起调用 start()函数启动,而不是创建一个启动一个。而且,不用再管理一堆锁(分配锁,获得锁,释放锁,检查锁的状态等),只要简单地对每个线程调用 join()函数就可以了。

    join()会等到线程结束,或者在给了 timeout 参数的时候,等到超时为止。join()的另一个比较重要的方面是它可以完全不用调用。一旦线程启动后,就会一直运行,直到线程的函数结束,退出为止。

     

     

     

     

    摘自虫师的博客

  • 相关阅读:
    华为上机练习题--求两个数组的总和
    C++设计模式之状态模式(四)
    深入理解java嵌套类和内部类
    c++实现精确计时
    Linux-中断和中断处理
    使用C#对MongoDB中的数据进行查询,改动等操作
    淘特房产CMS系统 7.5
    sass03 变量、样式导入
    sass02
    sass01
  • 原文地址:https://www.cnblogs.com/xiaoli2018/p/4576858.html
Copyright © 2011-2022 走看看