【发布时间】:2017-04-04 03:29:18
【问题描述】:
我目前正在处理的工作需要在多个进程将运行的函数内部初始化几个 posix 信号量,并且这些信号量将与这些进程也将运行的另一个函数共享。我该怎么做才能使信号量只由一个线程创建一次,而其余的只打开它们?我似乎无法在任何地方找到有关如何执行此操作的任何信息。
关于这个主题,我所能找到的只是关于如何使用 sem_wait() 和 sem_post() 函数,但没有具体到我的问题。我还必须确保一个文件只创建一次并由其他进程打开,但可以检查该文件是否已由 access() 函数创建。信号量有类似的东西吗?
任何帮助解释这是如何完成的将不胜感激。
【问题讨论】:
-
在启动它们之前在线程外部创建它们。
标签: c multithreading initialization posix semaphore