如何实现两个进程的同步与互斥

Fenian 2000-07-13 10:57:00
rt
...全文
398 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzh 2000-08-13
  • 打赏
  • 举报
回复
最简单的方法是用全局变量进行同步与互斥。但这不是一种推荐的方法。
使用CEvent
CEvent hEvent;
WaitForSingleObject(hEvent,INFINITE);
定义一个CEvent对象,然后在要求同步或互斥的时hEvent.SetEvent;在要求停止时hEvent.ResetEvent()就可以了。当然,这里面就用到了CEvent类来进行同步与互斥进行操作。

对于Mutex和CriticalSession使用方法也类似,你也可以参考一下VC6技术内幕,里面有一些介绍。
HHHH 2000-08-13
  • 打赏
  • 举报
回复
参考一下VC6技术内幕
Fenian 2000-08-11
  • 打赏
  • 举报
回复
//Create mutex for mutual exclusion
HANDLE hMutex;
hMutex = CreateMutex( NULL, true,"MutexToProtect");

//critical session

//release the mutex
::ReleaseMutex(hMutex);
::CloseHandle(hMutex);
kingwill 2000-08-11
  • 打赏
  • 举报
回复
关注
Fenian 2000-07-19
  • 打赏
  • 举报
回复
具体的要求是:

若干个进程访问同一个文件,
若发现文件已被其他进程使用,等待直到其他进程放弃文件的使用权。
ta 2000-07-18
  • 打赏
  • 举报
回复
care
ta 2000-07-18
  • 打赏
  • 举报
回复
care
pbi 2000-07-18
  • 打赏
  • 举报
回复
Win32中的CriticalSection是不能使用名字的,而且只能在同一个进程中使用。
进程间同步的方法很多,要看具体的要求才能决定。
bird2000 2000-07-18
  • 打赏
  • 举报
回复
use named criticalsession, mutex or event.
茂奇软件 2000-07-13
  • 打赏
  • 举报
回复
use criticalsession, mutex or event.
jansen zhu
Fenian 2000-07-13
  • 打赏
  • 举报
回复
能具体指出怎么做吗?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧