日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Linux線程比較:LinuxThreads 和NPTL( 四 )


$ getconf GNU_LIBPTHREAD_VERSION
這會(huì)產(chǎn)生類似于下面的輸出結(jié)果:
NPTL 0.34
或者:
linuxthreads-0.10
Linux 發(fā)行版所使用的線程模型、glibc 版本和內(nèi)核版本
表 1 列出了一些流行的 Linux 發(fā)行版,以及它們所采用的線程實(shí)現(xiàn)的類型、glibc 庫(kù)和內(nèi)核版本 。
表 1. Linux 發(fā)行版及其線程實(shí)現(xiàn)線程實(shí)現(xiàn)C 庫(kù)發(fā)行版內(nèi)核LinuxThreads 0.7, 0.71 (for libc5)libc 5.xRed Hat 4.2LinuxThreads 0.7, 0.71 (for glibc 2)glibc 2.0.xRed Hat 5.xLinuxThreads 0.8glibc 2.1.1Red Hat 6.0LinuxThreads 0.8glibc 2.1.2Red Hat 6.1 and 6.2LinuxThreads 0.9Red Hat 7.22.4.7LinuxThreads 0.9glibc 2.2.4Red Hat 2.1 AS2.4.9LinuxThreads 0.10glibc 2.2.93Red Hat 8.02.4.18NPTL 0.6glibc 2.3Red Hat 9.02.4.20NPTL 0.61glibc 2.3.2Red Hat 3.0 EL2.4.21NPTL 2.3.4glibc 2.3.4Red Hat 4.02.6.9LinuxThreads 0.9glibc 2.2SUSE Linux Enterprise Server 7.12.4.18LinuxThreads 0.9glibc 2.2.5SUSE Linux Enterprise Server 82.4.21LinuxThreads 0.9glibc 2.2.5United Linux2.4.21NPTL 2.3.5glibc 2.3.3SUSE Linux Enterprise Server 92.6.5
注意,從 2.6.x 版本的內(nèi)核和 glibc 2.3.3 開(kāi)始,NPTL 所采用的版本號(hào)命名約定發(fā)生了變化:這個(gè)庫(kù)現(xiàn)在是根據(jù)所使用的 glibc 的版本進(jìn)行編號(hào)的 。
Java? 虛擬機(jī)(JVM)的支持可能會(huì)稍有不同 。IBM 的 JVM 可以支持表 1 中 glibc 版本高于 2.1 的大部分發(fā)行版 。
結(jié)束語(yǔ)
LinuxThreads 的限制已經(jīng)在 NPTL 以及 LinuxThreads 后期的一些版本中得到了克服 。例如,最新的 LinuxThreads 實(shí)現(xiàn)使用了線程注冊(cè)來(lái)定位線程本地?cái)?shù)據(jù);例如在 Intel?處理器上,它就使用了 %fs 和 %gs 段寄存器來(lái)定位訪問(wèn)線程本地?cái)?shù)據(jù)所使用的虛擬地址 。盡管這個(gè)結(jié)果展示了 LinuxThreads 所采納的一些修改的改進(jìn)結(jié)果,但是它在更高負(fù)載和壓力測(cè)試中,依然存在很多問(wèn)題,因?yàn)樗^(guò)分地依賴于一個(gè)管理線程,使用它來(lái)進(jìn)行信號(hào)處理等操作 。
您應(yīng)該記住,在使用 LinuxThreads 構(gòu)建庫(kù)時(shí),需要使用 -D_REENTRANT 編譯時(shí)標(biāo)志 。這使得庫(kù)線程是安全的 。
最后,也許是最重要的事情,請(qǐng)記住 LinuxThreads 項(xiàng)目的創(chuàng)建者已經(jīng)不再積極更新它了,他們認(rèn)為 NPTL 會(huì)取代 LinuxThreads 。
LinuxThreads 的缺點(diǎn)并不意味著 NPTL 就沒(méi)有錯(cuò)誤 。作為一個(gè)面向 SMP 的設(shè)計(jì),NPTL 也有一些缺點(diǎn) 。我曾經(jīng)看到過(guò)在最近的 Red Hat 內(nèi)核上出現(xiàn)過(guò)這樣的問(wèn)題:一個(gè)簡(jiǎn)單線程在單處理器的機(jī)器上運(yùn)行良好,但在 SMP 機(jī)器上卻掛起了 。我相信在 Linux 上還有更多工作要做才能使它具有更好的可伸縮性,從而滿足高端應(yīng)用程序的需求 。
【Linux線程比較:LinuxThreads 和NPTL】原文鏈接:http://www-128.ibm.com/developerworks/cn/linux/l-threading.html

推薦閱讀