Abstract: FairThreads offers a very simple framework for
concurrent and parallel
programming. Basically, it defines schedulers which are synchronization
servers. All threads are executed in a cooperative way, at the same pace, and
they can synchronize and communicate using broadcast events. FairThreads has
a precise and clear semantics and are actually deterministic.
During the talk, we will compare cooperative threads and preemptive threads
in the context of the Scheme programming language. We will then present
FairThreads semantics (including the semantics of the scheduler). Then, we
will present the actual FairThreads API and implementation in Bee, a
programming environment for Scheme. Finally, we will conclude with some
graphical demonstrations deploying FairThreads.