Python 多处理中os.getpid的唯一性

Python 多处理中os.getpid的唯一性,python,concurrency,multiprocessing,pid,Python,Concurrency,Multiprocessing,Pid,我通过concurrent.futures运行一个分布在核心上的进程。每个进程都有一个最终调用os.getpid的函数。尽管在不同的并发.futures分支中,os.getpid中的ID是否会一致?我不知道os.getpid返回的值的含义是否定义得很好。我很确定,没有两个正在运行的进程具有相同的ID,但很可能在某个进程终止后,它的ID最终将被重新使用 大多数操作系统都是这样,os.getpid的实现很可能只是调用操作系统并返回相同的值。我不知道os.getpid返回的值的含义是否定义得很好。我很

我通过concurrent.futures运行一个分布在核心上的进程。每个进程都有一个最终调用os.getpid的函数。尽管在不同的并发.futures分支中,os.getpid中的ID是否会一致?

我不知道os.getpid返回的值的含义是否定义得很好。我很确定,没有两个正在运行的进程具有相同的ID,但很可能在某个进程终止后,它的ID最终将被重新使用


大多数操作系统都是这样,os.getpid的实现很可能只是调用操作系统并返回相同的值。

我不知道os.getpid返回的值的含义是否定义得很好。我很确定,没有两个正在运行的进程具有相同的ID,但很可能在某个进程终止后,它的ID最终将被重新使用


大多数操作系统都是这样,os.getpid的实现很可能只是调用操作系统并返回相同的值。

因此,如果我理解正确,时间和pid的串联应该给出一个唯一标识符。@guy12345-这取决于该标识符需要有多唯一。如果你在一个计时器内做两次,那么它在一台机器上就会失败。您可以添加一个全局计数器来修复它。如果您在大型计算机集群上执行此操作,则两台计算机可能会在其中某个位置生成相同的数字。如果这个小风险是一个问题,那么像secrets.token_bytes之类的东西可能更好。os.getpid的实现使用C getpid函数。看。在Windows中查找时遇到问题,所以如果我理解正确,时间和pid的串联应该会给出一个唯一标识符。@guy12345-这取决于此标识符需要有多唯一。如果你在一个计时器内做两次,那么它在一台机器上就会失败。您可以添加一个全局计数器来修复它。如果您在大型计算机集群上执行此操作,则两台计算机可能会在其中某个位置生成相同的数字。如果这个小风险是一个问题,那么像secrets.token_bytes之类的东西可能更好。os.getpid的实现使用C getpid函数。看。在我的ubuntu系统上很难在Windows上找到它,pid表是4194304个唯一的条目。之后,Pids将被重新使用。我不确定窗户上的旋转速度是多少。一台32位机器可能有32K或更少的条目。在我的ubuntu系统上,pid表是4194304个唯一的条目。之后,Pids将被重新使用。我不确定窗户上的旋转速度是多少。32位机器可能有32K或更少的条目。