В библиотеке Linux pthread, насколько я знаю, нет понятия дескриптора потока.pthread_create и другие функции pthreads возвращают идентификатор потока.
В Windows дескриптор потока отличается от идентификатора потока, так же, как дескриптор файла отличается от имени файла.
Дескриптор потока - это токен, который позволяет вам что-то делать с потоком (обычно его ждут или убивают).Win32 имеет эти токены для большого количества объектов и в общем случае называет их HANDLE.
Токен, по сути, является указателем на работающий (или остановленный) поток и имеет набор способностей, связанных с ним, например, выможет иметь дескриптор, который позволяет вам ждать, но не уничтожать поток.Таким же образом, у нас может быть дескриптор файла, который доступен только для чтения.
Этот уровень косвенности может быть полезен или не полезен, но именно так Win32 делает это, и он в целом соответствует тому, как он обрабатываетнекоторые другие типы объектов.