4.4 GNU LinuxThreads
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.