Skip to main content

Thread-creation helper

Project description

Thread-creation helper

The thread-creation API provided by the Python threading module is annoying. :)

This package provides a very simple thread-creation API that:

  • Makes threads daemonic and allows daemonicity to be passed to the constructor. For example:

    zc.thread.Thread(mythreadfunc)

    Starts a daemonic thread named 'mythreadfunc' running mythreadfunc.

  • Allows threads to be defined via decorators, as in:

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

    In the example above, a daemonic thread named mythread is created and started. The thread is also assigned to the variable mythread.

    You can control whether threads are daemonic and wether they are started by default:

    import zc.thread
    
    @zc.thread.Thread(daemon=False, start=False)
    def mythread():
        ...
  • After a thread finishes, you can get the return value of the target function from the thread’s value attribute, or, if the function raises an exception, you can get the exception object from the thread’s exception attribute. (This feature was inspired by the same feature in gevent greenlets.)

There’s also a Process constructor/decorator that works like Thread, but with multi-processing processes, and without the value and exception attributes.

Changes

0.1.0 (2011-11-27)

Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zc.thread-0.1.0.tar.gz (3.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page