锁(Lock),一把钥匙。每次只有一个子进程执行。
信号量(semaphore),多把钥匙,每次可以同时多个进程执行。
信号量解决了多线程同时进入子进程问题。
所以信号量是锁的进化升级,解决锁只能让一个子进程运行的瓶颈。
另一种现实场景需要解决,即根据特定条件才允许进入子程序。python同样引入了事件模式来解决这类经典场景。
锁(Lock),一把钥匙。每次只有一个子进程执行。
信号量(semaphore),多把钥匙,每次可以同时多个进程执行。
信号量解决了多线程同时进入子进程问题。
所以信号量是锁的进化升级,解决锁只能让一个子进程运行的瓶颈。
另一种现实场景需要解决,即根据特定条件才允许进入子程序。python同样引入了事件模式来解决这类经典场景。