施用邮槽来实现让进程只启动一个实例

使用邮槽来实现让进程只启动一个实例?
我知道可以用CreateMutex来实现让进程只启动一个实例。
我用邮槽试了一下也可以实现同样的效果
关键代码如下:

........
if(INVALID_HANDLE_VALUE != CreateFile("\\\\.\\mailslot\\xxx",.....))
{
    //邮槽已经创建
    退出程序的代码;
}
else
{
    CreateMailSlot("\\\\.\\mailslot\\xxx");
}

........

我自己觉得可以,主要是求大神来看看这种思路有没有什么漏洞

------解决方案--------------------
原理都是一样的
这种东西没有一定之规
------解决方案--------------------
我还见过用volatile的,那个是我见过最简单的方法。
------解决方案--------------------
都是给操作系统一个消息,以约束创建程序实例罢了。