FairThreads: mixing cooperative and preemptive threads in C - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports Year : 2003

FairThreads: mixing cooperative and preemptive threads in C


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)


Other [cs.OH]
Fichier principal
Vignette du fichier
RR-5039.pdf (348.41 Ko) Télécharger le fichier

Dates and versions

inria-00071544 , version 1 (23-05-2006)


  • HAL Id : inria-00071544 , version 1


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


Gmail Facebook X LinkedIn More