使用pthreads进行进程间互斥
我想使用一个互斥锁,它将用于同步访问驻留在内存中的一些变量,这两个变量共享两个不同的进程.我怎样才能做到这一点.要执行的代码示例将非常感激.
解决方法
使用
POSIX semaphore初始化为1. (见下文)对未命名的信号量使用sem_init,对命名的信号量使用sem_open.
sem_t sem; /* initialize using sem_init or sem_open */ sem_wait(&sem); /* critical region */ sem_post(&sem); 在最初发布此答案多年后,必须对其进行更新. 实际应该使用互斥锁而不是信号量. R和kuga的评论(下面逐字复制)解释了原因.特别是我发现kuga提到互斥锁只能通过锁定线程发布最引人注目的. [R
玖珂
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |