Content deleted Content added
→Design: Cleanup threading models with citation Tags: Mobile edit Mobile web edit Advanced mobile edit |
m HTTP to HTTPS for SourceForge |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 7:
To improve upon LinuxThreads, it was clear that some kernel support and a new threading library would be required. Two competing projects were started to address the requirement: [[NGPT]] (Next Generation POSIX Threads) worked on by a team which included developers from [[IBM]], and NPTL by developers at [[Red Hat]]. The NGPT team collaborated closely with the NPTL team and combined the best features of both implementations into NPTL. The NGPT project was subsequently abandoned in mid-2003 after merging its best features into NPTL.
NPTL was first released in Red Hat Linux 9. Old-style Linux POSIX threading is known for having trouble with threads that refuse to yield to the system occasionally, because it does not take the opportunity to preempt them when it arises, something that Windows was known to do better at the time. Red Hat claimed that NPTL fixed this problem in an article on the [[Java (programming language)|Java]] website about Java on Red Hat Linux 9.<ref>[https://web.archive.org/web/20110604035631/http://java.sun.com/developer/technicalArticles/JavaTechandLinux/RedHat/ Red Hat Linux 9 and Java 2 Platform, Standard Edition 1.4.2: A Winning Combination]</ref>
NPTL has been part of [[Red Hat Enterprise Linux]] since version 3, and in the Linux kernel since version 2.6. It is now a fully integrated part of the [[GNU C Library]].<ref>[http://lists.gnu.org/archive/html/info-gnu/2004-08/msg00002.html GNU C Library version 2.3.3 release]</ref>
There exists a tracing tool for NPTL, called [
==Design==
Like LinuxThreads, NPTL is a
▲NPTL is a so-called 1:1 threads library, in that threads created by the library (via ''pthread_create'') are in one-to-one correspondence with schedulable entities in the kernel (''processes'', in the Linux case).<ref name="lsp-love">{{Cite book |title=Linux System Programming |author=Robert Love |edition=2nd |isbn=1449339530 |date=2013}}</ref> This is the simplest of the three [[Thread (computing)#Threading models|threading models]] (1:1, N:1, and M:N).<ref name="lsp-love"></ref>
==See also==
Line 29 ⟶ 27:
==External links==
* [
{{Linux}}
|