Python中的多线程threading和线程间消息队列queue学习笔记

    python中实现多线程可以通过threading类。线程间同步则可以用queue类。至于python的进程间通信,暂时没有发现有类似linux ipc的模块可供使用,但是可以通过unix域套接字实现进程间通信。

1、用threading模块实现多线程

    可以通过派生threading.Thread类来实现一个可独立控制的线程实例。用户需要(也只能)重写Thread类的__init__和run函数来实现自己的线程。线程类实例化后可以通过使用start函数使线程运行,该函数会在新开启的线程中调用run函数。这里需要注意的是,该类中只有run函数是出在独立的线程中运行的,其他控制函数都是处在调用者线程中执行的。其他线程可以通过调用Thread实例的join函数来阻塞自己等待线程运行结束。Thread类中name属性用来存放线程的名字。在python中主线程是一个名为“ main thread”的Thread实例。
1.1、Thread类中的函数
    start():启动线程 。只能调用一次,否则会报错。该函数启动一个单独的线程运行run函数。
    run():通过重写这个函数来实现用户函数在线程中的运行。也可以在类实例化的时候直接指定运行函数,那样的话可以不用重写这个函数,
    join(timeout=None):调用这个函数的线程收到阻塞直到线程实例退出。timeout,一个浮点数,可以指定超时时间,单位秒。
    name存放线程的名字。可以更改,默认为Thread-n的格式。
   ident:存放线程标识,一个整数。在线程结束后依然存在(直到线程资源被回收)
   is_alive()判断线程是否存活。返回True或者False。调用模块函数 enumerate()可以得到所以存活的线程。
  daemon指定线程是否为守护线程

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值