Fedora Packages

qthreads

Lightweight locality-aware user-level threading runtime

The Qthreads API is designed to make using large numbers of threads convenient and easy. The Qthreads API also provides access to full/empty-bit (FEB) semantics, where every word of memory can be marked either full or empty, and a thread can wait for any word to attain either state. Qthreads is essentially a library for spawning and controlling stackful coroutines: threads with small (4-8k) stacks. The exposed user API resembles OS threads, however the threads are entirely in user-space and use their locked/unlocked status as part of their scheduling. The library's metaphor is that there are many Qthreads and several "shepherds". Shepherds generally map to specific processors or memory regions, but this is not an explicit part of the API. Qthreads are assigned to specific shepherds and are only allowed to migrate when running on a scheduler that supports work stealing or when migration is explicitly triggered via user APIs. The API includes utility functions for making threaded loops, sorting, and similar operations convenient.

Releases Overview

Release Stable Testing
Fedora Rawhide 1.22^20251007gitcedb1fc-2.fc44 -
Fedora 44 1.22^20251007gitcedb1fc-2.fc44 -
Fedora 43 1.22^20251007gitcedb1fc-1.fc43 -
Fedora 42 1.22^20251007gitcedb1fc-1.fc42 -
File a new bug report »
Package Info
Related Packages

You can contact the maintainers of this package via email at qthreads dash maintainers at fedoraproject dot org.



Sources on Pagure