关于“multiprocessing.Lock”,Python对锁、互斥或信号量使用不同的术语吗?

关于“multiprocessing.Lock”,Python对锁、互斥或信号量使用不同的术语吗?,python,multithreading,multiprocessing,locking,Python,Multithreading,Multiprocessing,Locking,引述 锁定只允许一个线程进入被锁定的部件,并且该锁定不会与任何其他进程共享 互斥锁与锁相同,但可以是系统范围的(由多个进程共享) 信号量的作用与互斥量相同,但允许x个线程的数目 这就是我所困惑的:多处理是否会产生新的进程,对吗?因此,即使它被称为“锁”,但它实际上不是锁,而是互斥或信号量吗?就像您可以在文档中阅读的那样-multiprocessing.lock可以跨多个进程和线程工作,但传统的工作方式可以跨一个进程内的线程,所以实际上,multiprocessing.lock可以像互斥一样工作。

引述

锁定只允许一个线程进入被锁定的部件,并且该锁定不会与任何其他进程共享

互斥锁与锁相同,但可以是系统范围的(由多个进程共享)

信号量的作用与互斥量相同,但允许x个线程的数目


这就是我所困惑的:
多处理
是否会产生新的进程,对吗?因此,即使它被称为“锁”,但它实际上不是锁,而是互斥或信号量吗?

就像您可以在文档中阅读的那样-
multiprocessing.lock
可以跨多个进程和线程工作,但传统的工作方式可以跨一个进程内的线程,所以实际上,
multiprocessing.lock
可以像互斥一样工作。这只是名称转换。还请记住,多处理的设计类似于线程API;在某些情况下,为了实现设计目标,可能会牺牲准确的术语。尽管如此,我不同意引用的定义,即通过锁同步的线程必须属于同一进程。@shmee关于通过锁同步的线程是否必须属于同一进程,我在哪里可以找到替代定义?另外,你想把它写进一个答案,这样我就可以接受了吗?就像你可以在文档中阅读-
多处理。锁
可以跨多个进程和线程工作,但是传统的锁可以跨一个进程中的线程工作,所以实际上,
多处理。锁
可以像互斥锁一样工作。这只是名称转换。还请记住,多处理的设计类似于线程API;在某些情况下,为了实现设计目标,可能会牺牲准确的术语。尽管如此,我不同意引用的定义,即通过锁同步的线程必须属于同一进程。@shmee关于通过锁同步的线程是否必须属于同一进程,我在哪里可以找到替代定义?还有,你想把它写进一个答案,这样我就可以接受了吗?