FairThreads offers a very simple framework for concurrent and parallel programming. Basically, it defines schedulers which are synchronization servers, to which fair threads are linked. All threads linked to the same scheduler are executed in a cooperative way, at the same pace, and they can synchronize and communicate using broadcast events.
Threads which are not linked to any scheduler are executed by the OS in a preemptive way, at their own pace. FairThreads offers programming constructs for dynamically linking and unlinking threads.
In the Cooperative variant of FairThreads, all threads are linked to one unique scheduler. Cooperative FairThreads is deterministic and has a precise and clear semantics.
FairThreads is implemented in C; variants of it (basically, Cooperative FairThreads) are also implemented in Java, and Scheme.
There exists 3 implementations of FairThreads:
This Html page has been produced by
Last update Mon Oct 23 12:08:36 2006.