Fair threads are cooperative threads run by a fair scheduler
which gives them equal access to the processor. Fair threads can
communicate using broadcast events, and are fully portable as their
semantics does not depends on the executing platform. Fine control
over fair threads execution is possible allowing the programming of
specific user-defined scheduling strategies. FairThreads is implemented in
Java through an API. Reactive programming is at the basis of the fair threads proposal.
One consider sine and cosine
threads that are run together (programming with standard Java threads
is also considered).
FairThreads implementation is available from the
download page (for using reactive instructions, you need also to
download the REPLACE v2.1 implementation of Junior and the Jre extended API).