Нужно ли делать что-то особенное, чтобы использовать NPTL (в отличие от pthreads)?
Нужно ли делать что-то особенное, чтобы использовать NPTL вместо pthreads? Я на ядре 2.3.23...
Я спрашиваю, потому что я смотрю на некоторый код, который предположительно работает с NPTL, но я вижу, что он все еще включает в себя pthreads, с которыми у AFAIK есть проблемы, такие как обработка сигналов на уровне потоков, ложные пробуждения и т. Д.
2 ответа
Нет.
NPTL - это более новая реализация потоков POSIX, которая используется в любом достаточно современном дистрибутиве Linux.
Более старая реализация - LinuxThreads - была сломана во многих отношениях, и вы вряд ли когда-либо столкнетесь с ней.
Обе реализации являются pthreads.
Реализация потоков выбирается во время настройки библиотеки времени выполнения c, обычно это glibc (см. Пример для --enable-add-ons
)