Skip to Main content Skip to Navigation
New interface

FairThreads: mixing cooperative and preemptive threads in C

Frédéric Boussinot 1 
1 MIMOSA - Migration and mobility : semantics and applications
CRISAM - Inria Sophia Antipolis - Méditerranée , Université de Provence - Aix-Marseille 1, Mines Paris - PSL (École nationale supérieure des mines de Paris)
Abstract : 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 defines automata to deal with small, short-lived tasks, which do not need the full power of native threads. Automata have lightweight implementation and are not subject to some limitations of native threads. The implementation in C is based on the pthreads library. Several fair schedulers, executed by distinct pthreads, can be used simultaneously in the same program. Using several schedulers and unlinked threads, programmers can take benefit of multiprocessors machines (basically, SMP architectures)
Document type :
Complete list of metadata

Cited literature [2 references]  Display  Hide  Download
Contributor : Rapport De Recherche Inria Connect in order to contact the contributor
Submitted on : Tuesday, May 23, 2006 - 5:54:34 PM
Last modification on : Tuesday, October 25, 2022 - 4:24:26 PM
Long-term archiving on: : Sunday, April 4, 2010 - 10:23:56 PM


  • HAL Id : inria-00071544, version 1


Frédéric Boussinot. FairThreads: mixing cooperative and preemptive threads in C. RR-5039, INRIA. 2003. ⟨inria-00071544⟩



Record views


Files downloads