GNU Portable Threads

Thread library
title: "GNU Portable Threads" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["application-programming-interfaces", "c-(programming-language)-libraries", "gnu-project-software", "threads-(computing)"] description: "Thread library" topic_path: "technology/computing" source: "https://en.wikipedia.org/wiki/GNU_Portable_Threads" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Thread library ::
::data[format=table title="Infobox software"]
| Field | Value |
|---|---|
| name | GNU Portable Threads |
| logo | GNU Pth logo.jpg |
| logo_size | 170px |
| author | Ralf S. Engelschall |
| released | |
| latest_release_version | 2.0.7 |
| latest_release_date | |
| operating_system | POSIX |
| genre | Runtime library |
| license | LGPL |
| :: |
| name = GNU Portable Threads | logo= GNU Pth logo.jpg | logo_size = 170px | author = Ralf S. Engelschall | developer = | released = | latest_release_version = 2.0.7 | latest_release_date = | operating_system = POSIX | genre = Runtime library | license = LGPL
GNU Pth (Portable Threads) is a POSIX/ANSI-C based user space thread library for UNIX platforms that provides priority-based scheduling for multithreading applications. GNU Pth targets for a high degree of portability. It is part of the GNU Project.
Pth also provides API emulation for POSIX threads for backward compatibility.
GNU Pth uses an N:1 mapping to kernel-space threads, i.e., the scheduling is done completely by the GNU Pth library and the kernel itself is not aware of the N threads in user-space. Because of this there is no possibility to utilize SMP as kernel dispatching would be necessary.
References
References
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::