跳转到主要内容

线程创建助手

项目描述

线程创建助手

Python模块threading提供的线程创建API很烦人。 :)

此包提供一个非常简单的线程创建API,

  • 使线程为守护线程,并允许将守护线程传递给构造函数。例如

    zc.thread.Thread(mythreadfunc)

    启动一个名为“mythreadfunc”的守护线程,运行mythreadfunc。

  • 允许通过装饰器定义线程,如下所示

    import zc.thread
    
    @zc.thread.Thread
    def mythread():
        ...

    在上面的例子中,创建并启动了一个名为mythread的守护线程。线程也分配给了变量mythread。

    您可以控制线程是否为守护线程以及它们是否默认启动

    import zc.thread
    
    @zc.thread.Thread(daemon=False, start=False)
    def mythread():
        ...
  • 线程完成后,您可以从线程的value属性获取目标函数的返回值,或者,如果函数引发异常,您可以从线程的exception属性获取异常对象。(此功能受gevent greenlets中相同功能的启发。)

  • 如果线程引发异常(Exception的子类),异常将被记录,并将跟踪信息打印到标准错误。

  • 可以使用重启参数在出现未捕获的异常时重新运行线程目标函数。将传递给重启参数的值传递给time.sleep,然后再重新启动函数。

还有一个类似Thread的Process构造函数/装饰器,但它用于多进程进程,而没有value和exception属性。

更改

1.0.0 (2015-06-17)

  • Python 3支持

  • 线程名称现在包括函数的模块名称。

  • 现在,线程和进程目标中的未处理异常将记录并打印跟踪信息。

  • 可以使用重启参数在休息后自动重启线程目标。

0.1.0 (2011-11-27)

初始版本

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

zc.thread-1.0.0.tar.gz (4.7 kB 查看哈希值)

上传时间

由支持