我正在process-1尝试将数据写入共享内存。同时process-2我正在从同一共享内存中读取数据。在这种情况下,我需要在这两个进程之间提供同步。如果我要遍历未命名的信号量(使用shm_init(),mmap()),它会起作用吗?
我写了这样的代码,它能工作吗?
fd = shm_open("shm_name", O_CREAT| O_RDWR, S_IRUSR | S_IWUSR);
sema = mmap(NULL, sizeof(sem_t), PROT_READ | PROT_WRITE,MAP_SHARED , fd, 0);
sem_init(sema, 1, 1);
Run Code Online (Sandbox Code Playgroud)