问题描述
我有一个问题陈述,其中有一个单个分发者任务在等待某个事件发生。在同一个系统中,3 个独立的子任务以独立的输入运行。这3个子任务将等待分发者任务的通知。循环,3个任务收到通知后,独立处理数据,产生输出,最后再次等待通知。约束是所有 3 个子任务应该同时启动,以便可以比较每个任务的输出进行评估。从问题陈述来看,它似乎是一个同步问题,可能可以使用信号量。我探索了 semctl
函数,该函数主要用于两个任务之间的一对一同步(SETVAL 选项)。基于 POSIX 的实现( sem_wait 、 sem_post )没有为跨多个任务共享信号量提供任何额外的参数。这里每个任务都是一个进程,而不是一个线程。
那么是否可以使用基于 System-V 或 POSIX 的信号量实现来同时通知不同的任务?或者有任何替代解决方案?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)