Похоже, вы используете устаревшую LinuxThreads реализацию pthreads, которая возвращала разные pid для каждого потока. Текущая реализация - NPTL (Native POSIX Threads Library), которая этого не делает. Он по-прежнему реализован с использованием clone()
, хотя clone()
был улучшен, чтобы на его основе можно было построить высокоэффективную POSIX-совместимую реализацию потоков, и NPTL широко использует эти улучшения.
Вы можете определить, какую реализацию вы используете, с помощью команды getconf GNU_LIBPTHREAD_VERSION
. Подробности см. В pthreads (7) .