答えて

1

プラットフォームによっては、IDが一意であってもなくてもよい。ここで重要なのは、Pythonマルチプロセッシングライブラリは実際にはマルチスレッドのためにスレッドの代わりにプロセスを使用するため、プロセス間のスレッドIDは実際にはプラットフォーム固有の実装の詳細であるということです。

Unix/Linuxの場合:スレッドIDは、単一プロセス内で一意であることが保証されています。ただし、スレッドIDはプロセス間で一意であるとは限りません。ただし、processid(pid)はプロセス間でユニークになります。したがって、2つをまとめて一意の識別子を得ることができます。 Windows上でman pthreadページhttp://man7.org/linux/man-pages/man7/pthreads.7.html

から詳細:スレッドIDは、マシン全体にわたって一意である:https://msdn.microsoft.com/en-us/library/windows/desktop/ms686746(v=vs.85).aspx

+0

は、スレッドIDは、プロセスごとに一意であることを文書化しますか? – Reith

+0

@ 0x2c52私はそれを少し調べなければなりませんでした。そうすることで、私は答えを明確にします。 Windowsスレッドはマシン全体で一意でなければなりませんが、Linuxスレッドはプロセス内で一意になるはずです。 man pthreads:http://man7.org/linux/man-pages/man7/pthreads.7.html - "スレッドIDはプロセス内でのみユニークであることが保証されています( スレッドを受け入れるすべてのpthreads関数IDは引数として というIDは、呼び出し元の と同じプロセス内のスレッドを指します)。 "Windows:https://msdn.microsoft.com/en-us/library/windows/desktop/ms686746(v = vs.85).aspx –