Unix 中等效的全局命名事件对象是什么?我需要在 unix 中创建一个命名的类事件对象,以便另一个进程可以设置它
Win32 中的伪代码:
HANDLE hEvent=CreateEvent(...,"Global\\CSAPP");
while(1)
{
WaitForSingleObject(hEvent);
...
}
在另一个进程中:
HANDLE hEvent=OpenEvent(...,"Global\\CSAPP");
SetEvent(hEvent);
最佳答案
您可能正在寻找 named semaphore .
int initial = 0;
sem_t *sem = sem_open("/global_name", O_CREAT, 0644, initial);
/* Down ("Wait"). */
sem_wait(sem);
/* Up ("Set") . */
sem_post(sem);
关于winapi - Unix 中的全局命名事件等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7574619/