python 阻止程序并行运行(pypiwin32模块)

互斥量:
采用互斥对象机制。互斥锁,像一个物件,这个物件只能同时被一个线程持有。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。互斥不仅能实现同一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享。

这里使用的是windows的互斥量,使用前需要安装pypiwin32模块

pip install pypiwin32

使用win32event.CreateMutex创建锁,在当前进程结束后自动释放锁,保证在同一时刻只有一个程序示例在运行,具体代码为:

import time

import win32api
import win32event
from winerror import ERROR_ALREADY_EXISTS

if __name__ == '__main__':
    mutexname = "自定义ID标识"
    mutex = win32event.CreateMutex(None, False, mutexname)
    if win32api.GetLastError() == ERROR_ALREADY_EXISTS:
        print('程序已启动')
        exit(0)
    else:
        print('启动程序')
        # 模拟用户操作
        while True:
            time.sleep(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值