This directory contains some demonstrations of the thread module.

These are mostly "proof of concept" type applications:

Generator.py	Generator class implemented with threads.
find.py		Parallelized "find(1)" (looks for directories).
sync.py		Condition variables primitives by Tim Peters.
telnet.py	Version of ../sockets/telnet.py using threads.
wpi.py		Version of ../scripts/pi.py using threads (needs stdwin).

Coroutine.py	Coroutines using threads, by Tim Peters (22 May 94)
fcmp.py		Example of above, by Tim
squasher.py	Another example of above, also by Tim
