首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NPTL和POSIX线程之间有什么区别?

NPTL和POSIX线程之间有什么区别?
EN

Stack Overflow用户
提问于 2011-12-20 13:22:03
回答 3查看 13.5K关注 0票数 29

NPTL和POSIX线程之间的基本区别是什么?这两个人是怎么进化的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-20 13:35:52

POSIX线程(p线程)不是一个实现,它是几个函数的API规范(纸面上的标准,英文),其名称以pthread_开头,在<pthread.h>头中定义。POSIX也是一套规范。

NPTL现在在Linux上的GNU Libc中,并且是(或者至少非常努力地)一个POSIX线程的实现。它是Linux系统上的一堆源代码和二进制代码。现在,使用gcc -pthread编译并与-pthread链接的应用程序在Linux上使用NPTL代码。

增编

存在pthread-s的替代实现:在Linux上,MUSL Libc的目标是兼容Posix (这意味着具有Posix );在其他Posix系统上(AIX、Solaris、.)您也有p线程(但它们不是NPTL或Glibc)。

票数 38
EN

Stack Overflow用户

发布于 2011-12-20 13:29:23

"POSIX线程“是一个‘标准’,定义了一个用于线程处理的API。也就是说,它说明了诸如pthread_exit ()等函数应该存在于系统中,并描述了它们的行为方式。所有符合POSIX的操作系统都以自己的方式实现POSIX线程。

NPTL是一系列特性,使"Linux“(内核)能够有效地实现"POSIX线程”(标准)。

您可以更多地了解NPTL以及它是如何产生这里的。

票数 9
EN

Stack Overflow用户

发布于 2011-12-20 13:26:08

我想您最好的信息来源是从维基百科开始,并从那里开始跟踪链接。

实际上没有什么区别: NPTL只是POSIX线程的当前Linux实现,您仍然使用pthread_*系列函数。在Linux历史的早期,使用了一个名为Linux线程的专用库。NPTL出现在2.6+内核大约2003年,有关更多详细信息,请参阅上面的链接。

BTW: NPTL ==本地Posix线程库

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8576126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档