Linux线程模型比较-Linux Threads and NPTL

Linux Thread和POSIX是不兼容的,而且,在内核里面,一个线程其实就是一个进程(只不过这些线程都是通过clone生成的),所以,有着很多的缺点,比如,我们在一些比较老的系统上(如RedHat9之前的版本,RHEL AS2系列上),可以看到一个多线程的程序,在TOP或PS或/proc下,能看到很多进程信息项,这就是因为这些线程在内核中都是以进程的方式存在的,详情请看文章中Linux Thread的限制一节 

NPTL是Native Posix Thread Library,是兼容POSIX的,这才是当今较好的Thread方案,从RedHat9开始,到RHEL AS3, 4都是用的NPTL,所以,我们的pthread_create这些东西才能运行的很好,而且,在top里面,一个多线程的程序只有一项,因为他只有一个进程嘛,具体的优点请看文章。 

文章中的一个表不错,列举了当今一些主流的Linux操作系统的Thread Library都是什么版本,如果想自己查看一下自己用的Linux用的是什么Thread库,也很简单,执行这个命令即可: 

getconf GNU_LIBTHREAD_VERSION

 /Files/super119/linuxandnptlthread_882.mht.zip

原文地址:https://www.cnblogs.com/super119/p/1910014.html