While the POSIX implementation and the GNU LinuxThreads library are generally compatible, the following caveats apply to GNU LinuxThreads:
GNU LinuxThreads are created with the clone() system call, and the kernel does thread scheduling.
GNU LinuxThreads are not true threads but are separate processes, each sharing its address space with the others using the clone() system function. This has a number of implications:
Scheduling between GNU LinuxThreads is equivalent to scheduling between Unix processes.
GNU LinuxThreads are visible using the ps command line utility, and each thread, or process, uses one entry in the kernel's process table, generally limited to 512 processes.
Process-wide manipulation of GNU LinuxThreads is not supported. For example, process-scope priorities are not available, and GNU LinuxThreads do not share PIDs and PPIDs.
For more information on GNU LinuxThreads, please consult the documentation in your Linux distribution, in addition to the following:
http://pauillac.inria.fr/~xleroy/linuxthreads/index.html
Created by the original author of LinuxThreads; however, the author has moved on, and this page is not being updated.
http://www.gnu.org/software/libc/
Documents the Project GNU C++ library, which includes LinuxThreads as an add-on package. This site contains the most current information.
Copyright © Rogue Wave Software, Inc. All Rights Reserved.
The Rogue Wave name and logo, and SourcePro, are registered trademarks of Rogue Wave Software. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.