红联Linux门户
Linux帮助

在嵌入试LINUX系统该使用哪个线程库

发布时间:2006-12-14 00:56:34来源:红联作者:linuxing
  在Redhat9.0下面, 创建一个进程。getpid();得到进程ID,然后在进程里用pthreadcreate几个线程,在线程里调用getpid, pthreadgetselfid()的到进程ID和线程ID, 发现该线程的进程ID和它所属的进程ID是一样的, 线程ID却不同。当是在小机里用gcc里的线程库,得到的结果是线程ID和进程ID是不同的,即线程也当作进程来对待,而且多了几个其它线程在运行,若线程当作进程来对待效率是比较低的。在网上查了下linux的线程库,发现新内核中的LD用的是The Native POSIX Thread Library (NPTL), 而小机上用的是老的GCC里的线程库。

  如何在Redhat9上面用老的线程库呢,在系统环境变量中加入LD_ASSUME_KERNEL=2.4.19就OK了

  因为老版本内核中是不用NPTL库的, 这样LD连接程序的时候就不用NPTL, 在PC LINUX的

  小机模拟器的模拟就和小机一样不用NPTL了。
文章评论

共有 0 条评论