LinuxThreads — частичная реализация библиотеки потоков POSIX Threads для операционной системы Linux в составе glibc. С начала 2000-х он был заменен библиотекой потоков POSIX (, ), появившейся в 2002 и работавшей с ядрами Linux 2.6 и более новыми.. — «The 2.6 kernel utilizes the new Native POSIX Thread Library, or NPTL (introduced in 2002), which is a higher performance implementation with numerous advantages over the older component.».. Основной разработчик — Ксавье Леруа.
У LinuxThreads был ряд проблем, в основном из-за реализации, использующей системный вызов clone() для создания нового процесса, который разделяет общее адресное пространство с исходным процессом. Например, потокам присваивались различные идентификаторы процесса (PID), что вызывало проблемы с обработкой сигналов; LinuxThreads использует сигналы SIGUSR1 и SIGUSR2 для координации потоков, что приводит к невозможности использования этих сигналов в программах.
Чтобы улучшить ситуацию, разработку замены начали два конкурирующих проекта: NGPT () и NPTL. NPTL победила, была включена в glibc, и поставляется с большинством систем Linux. На 2006 LinuxThreads можно было встретить на производственных системах, в частности, использующих версию ядра Linux 2.4 и ниже, так как NPTL требует программных интерфейсов, которые были добавлены для реализации потоков в версии ядра 2.6.
LinuxThreads также портировали и использовали на FreeBSDLinuxThreads on FreeBSD .
Примечания
Ссылки The LinuxThreads library, Xavier Leroy Home Page Linux threading models compared: LinuxThreads and NPTL, IBM 2006
Категория:Потоки выполнения