QSystemSemaphore ss("iLavender", 1, QSystemSemaphore::Open); ss.acquire();//获取临界区 QSharedMemory shared("iLavenderAssistant");//随便填个名字就行 if (!shared.create(1)) { ss.release();//UNIX会自动释放return 0; } ss.release();//释放临界区
//注意:这段代码不能放在代码段中如:{ ...}中和do{...}while(0);中,否则无效。可能是因为当里面变成了局部变量。