asyncthreads / README.txt

===================================================
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.

Project Links
=============

 - Downloads: http://pypi.python.org/pypi/asyncthreads
 - Documentation: https://bitbucket.org/agillis/asyncthreads/wiki/Home
 - Project page: https://bitbucket.org/agillis/asyncthreads
 - License: http://www.opensource.org/licenses/mit-license.php

Installation
============

The asyncthreads package is installed from source using distutils in the usual way.  Download the `source distribution <http://pypi.python.org/pypi/asyncthreads>`_ first.  Un-tar the source tarball and run the following to install the package site-wide:

``python setup.py install``

Usage
=====

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

 r = Reactor()
 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 <https://bitbucket.org/agillis/asyncthreads/wiki/Home>`_ for details.

For example usage, look in the ``examples`` and ``test`` directories in `src <https://bitbucket.org/agillis/asyncthreads/src>`_.

Requirements
============

 - Python 2.7 or greater

Development Tools
=================

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

 - mercurial
 - py.test
 - pychecker

Bugs and Issues
===============

http://bitbucket.org/agillis/asyncthreads/issues/
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.