LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1160|回复: 8

NPTL是不是在2.6.x中有支持,而真正的实现是在glibc中?

[复制链接]
发表于 2004-7-16 17:38:53 | 显示全部楼层 |阅读模式
NPTL是不是在2.6.x中有支持,而真正的实现是在glibc中?

也就是说我在2.6.7的内核版本中也要装glibc2.3.3后,就可以享受NPTL了?

还是说我一升级到2.6.7就可以享受NPTL了?

还有一个问题,如果我想把原来2.4下的多线程程序移植到2.6下面,是不是只有找到创建多线程的接口,而不用管线程的信号、上锁等问题,NPTL都帮我解决掉了??
还是依然要处理信号、上锁等问题,而至少函数等方面有变化?

望指点一二!!
发表于 2004-7-30 14:37:44 | 显示全部楼层
当今线程技术的方案有三种:
1.纯用户态的线程
2.纯内核态的线程
3.用户态以及内核态结合的线程

我没有看过NPTL,但既然GLIBC很久之前已经支持linux thread,而且内核也支持线程(仅限于内核态),那么它则属于第3种。有兴趣的兄弟可以研究一下,然后向大家交流一下心得,谢谢。

在google搜索NPTL的官方pdf文档来看看吧。
nptl filetype:pdf
发表于 2004-8-5 14:49:26 | 显示全部楼层
我觉得有时候在glibc层面上的thread不一定比那个内核态的性能差,跟具体应用有关,还免除了内核的很多锁和同步问题
发表于 2004-8-5 17:55:23 | 显示全部楼层
最初由 woood 发表
我觉得有时候在glibc层面上的thread不一定比那个内核态的性能差,跟具体应用有关,还免除了内核的很多锁和同步问题

请把觉得的根据也和大家交流一下吧。源码分析所得?平台测试所得?
 楼主| 发表于 2004-8-8 19:00:59 | 显示全部楼层
是啊,介绍一下经验吧,谢谢了~
发表于 2004-8-8 21:16:39 | 显示全部楼层
 楼主| 发表于 2004-8-10 23:56:44 | 显示全部楼层
http://www-900.ibm.com/developerWor...ptl/index.shtml
在文章中有提到:
“在线程创建/销毁开销方面,NPTL的改进相当明显(降低约600%)。实际上,NPTL不再像LinuxThreads那样需要使用用户级的管理线程来维护线程的创建和销毁[9],因此,很容易理解它在这方面的开销能够大幅度降低。”

是不是意味着我只管进程的创建,然后交给系统,NPTL就自动会帮我在进程里创建线程并进行管理??
发表于 2004-8-11 02:01:41 | 显示全部楼层
嗯。。。应该说两种都不用用户管理。(LinuxThreads中的管理线程是系统自动产生的)
 楼主| 发表于 2004-8-11 17:45:34 | 显示全部楼层
噢,忘了说明白了。
我不是指管理,而是指的在自己编的多线程程序当中的处理方法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表