ответ

1

В зависимости от платформы идентификаторы могут быть или не быть уникальными. Важно отметить, что библиотека многопроцессорности python фактически использует процессы вместо потоков для многопроцессорной обработки, и поэтому идентификаторы потоков между процессами на самом деле являются деталями реализации конкретной платформы.

В Unix/Linux: идентификатор потока гарантированно уникален внутри одного процесса. Однако идентификатор потока не гарантированно уникален для всех процессов. Однако processid (pid) будет уникальным для всех процессов. Таким образом, вы можете получить уникальный идентификатор, поставив их вместе. Деталь из man pthread страницы http://man7.org/linux/man-pages/man7/pthreads.7.html

На окнах: поток идентификатор уникален по всей машине: https://msdn.microsoft.com/en-us/library/windows/desktop/ms686746(v=vs.85).aspx

+0

ли это документально подтверждено, что нить идентификаторы уникальны для каждого процесса? – Reith

+0

@ 0x2c52 Мне пришлось немного поучаствовать в этом, и при этом я уточню свой ответ. Похоже, что потоки окон должны быть уникальными на всей машине, тогда как потоки linux будут уникальными в процессе. От человека pthreads: http://man7.org/linux/man-pages/man7/pthreads.7.html - «Идентификаторы потоков гарантированно будут уникальными только в рамках процесса. (В все функции pthreads, которые принимают поток ID в качестве аргумента, то Идентификатор по определению относится к потоку в том же процессе, что и вызывающий абонент .) «Windows: https://msdn.microsoft.com/en-us/library/windows/desktop/ms686746(v = vs.85) .aspx –

 Смежные вопросы

  • Нет связанных вопросов^_^