ChinaUnix.net
相关文章推荐:

linux 线程库

一、 前言   在 linux 2.6.x 内核中,调度性能的改进是其中最引人注目的一部分[1]。NPTL(Native Posix Thread Library)[2]使用内核的新特性重写了 linux线,取代历史悠久而备受争议的 linuxThreads[3] 成为 glibc 的首选线。      NPTL 的性能究竟如何?相对 linuxThreads 又有哪些明显的改进?在对NPTL进行全面分析之前,本文针对这两种线,以及内核中"内核可抢占"(Preemptible)和超线(HyperThreadin...

by yuchuan2008 - Linux文档专区 - 2008-12-18 13:00:51 阅读(1063) 回复(0)

相关讨论

NPTL 成为 glibc "正选"线后,它的性能如何受到很多人的关注。本文就针对NPTL 与 linuxThreads 的性能比较,以及超线、内核可抢占等特性对线性能的影响进行了全面评测。 一、 前言 在 linux 2.6.x 内核中,调度性能的改进是其中最引人注目的一部分[1]。NPTL(Native Posix Thread Library)[2]使用内核的新特性重写了 linux线,取代历史悠久而备受争议的 linuxThreads[3] 成为 glibc 的首选线。 NPTL 的性能究...

by loughsky - Linux文档专区 - 2007-08-15 10:01:49 阅读(661) 回复(0)

使用pthread时,在linux平台使用的是libpthread.a,但在OpenBSD下没有该文件,在OpenBSD下则使用libc_r.a,目前不太明白libpthread.a和libc_r.a是不是都是Posix标准的线,二者是否一样?

by bigboy - C/C++ - 2005-09-19 09:14:40 阅读(1289) 回复(1)

现在有一个写好的线,用户态的静态 先用GCC编译,再用AR生成.a文件 在这个线上跑序,一旦涉及到READ(),WRITE()等系统调用的时候会产生错误,不一定每次都出错 分析问题主要是由于进行输入输出系统调用的时候会转入核心态,然后无法正确恢复现场所致 现想到一个解决方案是自己写一个头文件,让线调用这个头文件,而不是系统本身的头文件.让序在分配的时间片内运行不中断... 不知道还有没有其它的方法能够解决类似的...

by linumou - 内核/嵌入技术 - 2005-05-13 09:41:06 阅读(976) 回复(0)

现在有一个写好的线,用户态的静态 先用GCC编译,再用AR生成.a文件 在这个线上跑序,一旦涉及到READ(),WRITE()等系统调用的时候会产生错误,不一定每次都出错 分析问题主要是由于进行输入输出系统调用的时候会转入核心态,然后无法正确恢复现场所致 现想到一个解决方案是自己写一个头文件,让线调用这个头文件,而不是系统本身的头文件.让序在分配的时间片内运行不中断... 不知道还有没有其它的方法能够解决类似的...

by linumou - 内核源码 - 2005-05-13 09:41:06 阅读(1409) 回复(0)

说明一下,这个问题困扰我好长时间,因为正如使用C编会希望了解进的内存映象一样,使用POSIX线我们也会想去了解其实现的原理。目前只是查过一些资料,或许仍然有误解的地方,请大家继续指正 :) 首先我们需要了解线(threads)是个什么概念。在传统UNIX中,进(process,就是Intel所谓的task)是调度的最小单位,复杂的大型软件往往需要有多个进,fork+exev是很常用的技巧。但是随着需求的扩大,特别是网络服务的...

by albcamus - C/C++ - 2006-05-16 21:06:49 阅读(14938) 回复(29)

这个问题我糊涂好久了,看了很多资料,互相矛盾。CU的帖子也看了很多,总感觉矛盾。前天买了本《POSIX多线序设计》,讲到pthreads的优势,提到说在SMP机器上进内的threads可以并行运行。然而linux内核邮件列表上说,linux没有采用1对1的支持,线是由实现的而不是OS。这样就是2个观点: 1. pthreads可以在SMP机器上并行; 2. linux上的posix线(glibc6已经集成进去了)与内核无关。 我的疑问...

by albcamus - C/C++ - 2005-02-17 15:37:06 阅读(3070) 回复(11)

最近开始接触多线,用到pthread系列函数,有个疑问,进线这一类东西应该是内核提供的基本功能,为什么线放在glibc中来实现呢?求解,谢谢 另外好奇问一下,还有没有哪些模块本来是应该有内核提供的,但是目前是放在glib中实现的?

by Huntsmen - 内核源码 - 2013-09-18 16:05:34 阅读(3836) 回复(7)

发布一个我自己业余时间编写的 C++ 多线 for linux,这个只有不到 1000 行源代码,封装了 pthreads 的常用功能(互斥器、条件变量、线),实现了简单的线池,并仿照 java concurrent 包编写了 BlockingQueue 和 CountDownLatch。里的每个 class 都提供了使用样例。 这个的内容: * 整数的原子操作, AtomicInt32 和 AtomicInt64 * 线,Thread * 线池,ThreadPool * 互斥器与条件变量, MutexLock,MutexLock...

by giantchen - C/C++ - 2010-08-23 10:13:14 阅读(4973) 回复(16)

在Redhat9.0下面, 创建一个进。getpid();得到进ID,然后在进里用pthreadcreate几个线,在线里调用getpid, pthreadgetselfid()的到进ID和线ID, 发现该线的进ID和它所属的进ID是一样的, 线ID却不同。当是在小机里用gcc里的线,得到的结果是线ID和进ID是不同的,即线也当作进来对待,而且多了几个其它线在运行,若线当作进来对待效率是比较低的。在网上查了下linux线,发现新内核...

by DoingAndDoing - Linux文档专区 - 2006-12-13 21:30:02 阅读(1057) 回复(0)

linux2.6 核心 默认是使用的线是nptl,还是linuxthead 如何更改配置选项

by HunterForPig - C/C++ - 2008-07-07 12:00:09 阅读(2096) 回复(4)