请教句柄的有关问题。(50分)

  • 主题发起人 主题发起人 pcgod
  • 开始时间 开始时间
P

pcgod

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
var
MutexHandle:Thandle;
begin
Mutexhandle := Windows.CreateMutex(nil, true, 'forhandle');

在不同的工程中,即使都针对'forhandle',所得的mutexhandle 值为何不同?
Windows.CreateMutex 是用来作什么的?

谢谢。
 
CreateMutex用来生成一个全局mutex对象, 该对象主要用于多个进程/线程需要共享某一资源时同步各进程之间的工作。
可以看到, 既然是动态生成的互斥对象, 多次调用的值当然是不会一样的。
如果一个进程/线程create了一个mutex, 其它进程/线程用waitfor函数集等待这个对象的释放, 可以防止多个进程/线程同时访问同一资源。
 
首先检测该信号是否存在
你得到的不同,后面的肯定是个错误号。
 
多人接受答案了。
 

Similar threads

后退
顶部