From what I was able to find out, the pthread header and library in / usr / include and / usr / lib respectively are old LinuxThreads implementations, and I believe that they exist for backward compatibility (i.e. you have to build against the old interface) but at run time, the NPTL implementation is used (which has an interface that is a superset of the LinuxThreads interface).
Therefore, you can only use the new NPTL interface (i.e. if you need additional functionality), if you know that you need it, and, importantly, you know that the NPTL interface will be available at run time.
source
share