asyncthreads: asynchronous thread utility objects
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.
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
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 setup.py 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() r.call(handle_event, (transport, event_id)) r.call_later(300, five_min_sync_check, (param1, param2)) r.call_in_thread(background_task) r.call_in_thread_later(600, ten_min_async_check, (param1, param2)) r.shutdown()
See the documentation for details.
For example usage, look in the examples and test directories in src.
- Python 2.7 or greater
Development tools are only required for doing development work and running tests.