进程互斥(当前程序已运行!)

水深无声 2023-03-02 10:15 27阅读 0赞

实现功能,当程序已经运行时,禁止另外开启一个同样的程序,这时可以使用进程互斥实现,即创建一个有名字的互斥量

在windows下:

  1. #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") //取消dos框的弹出
  2. #include "windows.h"
  3. #include "stdio.h"
  4. int main()
  5. {
  6. HANDLE m_hMutex = CreateMutex(NULL, TRUE, "mutex_1"); //创建名称为mutex_1的互斥量
  7. DWORD dwRet = GetLastError();
  8. if (m_hMutex)
  9. {
  10. if (ERROR_ALREADY_EXISTS == dwRet)
  11. {
  12. MessageBox(NULL,"同样的程序已运行,不能再次运行!","warning!",MB_OK);
  13. CloseHandle(m_hMutex);
  14. return 0;
  15. }
  16. }
  17. else
  18. {
  19. MessageBox(NULL, "创建互斥量错误,程序退出!", "warning!", MB_OK);
  20. CloseHandle(m_hMutex);
  21. return 0;
  22. }
  23. MessageBox(NULL, "程序运行起来了", "进程1", MB_OKCANCEL);
  24. CloseHandle(m_hMutex);
  25. return 0;
  26. }

发表评论

表情:
评论列表 (有 0 条评论,27人围观)

还没有评论,来说两句吧...

相关阅读

    相关 进程互斥进程同步

    一、进程互斥         由于进程具有独立性和异步性等并发特征,计算机的资源有限,导致了进程之间的资源竞争和共享,也导致了对进程执行过程的制约。 **1、临界资...

    相关 进程互斥进程同步

    进程之间的相互作用关系分为两种,一种是共享资源的关系,一种是相互合作的关系,前者属于进程互斥、后者属于进程同步。我们把实现这两类相互制约关系的机制,统称为进程同步机制。同步机制

    相关 进程同步、互斥问题

    进程同步、互斥问题 什么是进程同步 什么是进程互斥 总结 什么是进程同步 知识点回顾: 进程具有异步性的特征。异步性是指,各并发执行的进程以各自