|
1
12
它是一个命名的互斥体,因此它是可见的,可以在其他进程中打开。Windows在句柄上使用简单的引用计数。如果您不自己显式地释放(),那么终结器将为您关闭句柄。如果你的程序爆炸很厉害,从不执行终结器,那么当它清理你的程序使用的资源时,Windows就会执行它。 这将自动减少引用计数。如果这倒计时为零(没有其他进程打开句柄),则释放内核对象。 换言之:不管情况多么糟糕,你都不会有问题。实际的突变对象存在于内核内存池中。您可以通过系统内部的winobj工具看到它。 |
|
|
2
3
从 MSDN
|
|
|
3
3
互斥锁是操作系统级的句柄。当您的进程结束时,它们将被关闭(如果您不尽快关闭它们,也就是说)。 编辑 好吧,我明显误解了这个例子 和 这个问题。如果您只是试图检测另一个实例是否存在,那么您可以创建一个命名的互斥体(或类似的对象),并简单地检查它的存在,而不必锁定它。
呼唤
我认为你的问题是关于你是否关闭 手柄 在这个过程完成之前,这完全是另一回事。 额外的
在sdk[api][1]级别,可以调用
〔1〕: http://msdn.microsoft.com/en-us/library/ms682411(VS.85).aspx 创建机器 〔2〕: http://msdn.microsoft.com/en-us/library/bwe34f1k(v=VS.90).aspx 互斥 |
|
|
PHPLover · “支持PHP扩展或功能的端口”实际上是什么意思? 2 年前 |