Asynchronous Threads Utility -- asyncthreads

The asyncthreads module provides common threading design patterns and utilities needed for asynchronous and multithreaded programming. This includes a thread pool and a reactor, which together combine to create a highly reliable concurrent event processing system.


Using pip

Make sure python-pip is installed on you system. If you are using virtualenv, then pip is alredy installed into environments created by vertualenv. Run pip to install asyncthreads:

pip install asyncthreads

From Source

The asyncthreads package is installed from source using distutils in the usual way. Download the source distribution first. Un-tar the source tarball and run the following to install the package site-wide:

python install


Using the ThreadPool and Reactor is as simple as creating an instance and submitting work:

r = Reactor(ThreadPool(MIN_SIZE, MAX_SIZE))
r.start(), (transport, event_id))
r.call_later(300, five_min_sync_check, (param1, param2))
r.call_in_thread_later(600, ten_min_async_check, (param1, param2))

See the documentation for details.

For example usage, look in the examples and test directories in src.


  • Python 2.7 or greater

Development Tools

Development tools are only required for doing development work and running tests.

  • mercurial
  • py.test
  • pychecker