如何为单实例Python应用程序创建互斥锁

时间:2011-10-15 01:25:54

标签: python instance mutex

我一直在使用以下配方只允许我的应用程序的单个实例: http://code.activestate.com/recipes/474070-creating-a-single-instance-application/

配方使用“mutexname”变量,该变量填充了一些互斥量值。如果我想创建自己独特的“互斥锁”,我该怎么做?此外,这个食谱如何运作?谁能解释一下?

由于

1 个答案:

答案 0 :(得分:1)

该配方使用win32 api函数CreateMutex创建一个命名的互斥锁。互斥锁是一个系统对象,存在于应用程序的进程之外。当使用已存在的名称调用CreateMutex时,GetLastError返回ERROR_ALREADY_EXISTS。配方检查此返回值,如果是,则退出。您应该更改配方以使用不同的字符串作为mutexname。选择其他人不太可能锁定的东西,因为如果他们这样做,你的应用程序将无法启动。

相关问题