Cthreads -- A parallel programming library

Cthreads is a user-level threads package that runs on several uniprocessors and multiprocessors. It offers support for shared-memory parallel programming. The uniprocessor support is intended for development, debugging and classroom use. Cthreads should work on the following architectures/operating systems:

Source Distribution

A relatively recent version of Cthreads can be retrieved here. This is a link to a Gzip'd tar file. The distribution includes complete source for Cthreads and man pages describing its use and interface. Currently the release also contains portions of the Falcon monitoring package that supports distributed monitoring of Cthreads programs.

If you are retrieving the source code for further development which might be incorporated into the Cthreads release, please contact the developers to ensure that you start with the most recent source possible.


Development on Cthreads itself continues only to the extent that it supports ongoing projects. Some of those projects support the use of Cthreads, however. In particular, the Falcon project makes use of the Cthreads library and provides default monitoring and visualization of Cthreads programs.

Availability for other target machines

This is research software and not a supported product. We try to keep it working on the machines we say we will, on at least some compiler available on those machines. We port to new machines as it becomes necessary to support other projects.

The following machines are no longer supported, though some files are still present.

Some papers related to Cthreads


Cthreads has been around in various forms since time immemorial. However, some people who were last involved in Cthreads are:
This page is maintained by Greg Eisenhauer Last Modified Feb 27, 1997.