【发布时间】:2015-05-27 08:22:12
【问题描述】:
在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);
【问题讨论】:
-
sem_init afaik 适用于线程。
标签: c posix ipc shared-memory semaphore