我试图在两个进程(如聊天室)之间进行通信。每个进程都有自己的终端窗口。我正在使用命名管道进行通信。使用命名管道和信号量进行两个进程之间的通信
这里就是我所做的:
我有一个名为 “MYFILE” FIFO_FILE。过程A将新行写入MYFILE,过程B从MYFILE读取并将行输出到过程B的终端显示。然而,如果进程B想要写一个新行到MYFILE,(根据我对信号量的理解),进程A将被阻止读/写MYFILE,直到进程B完成写入。
我想实现的是:当两个进程想要写入时,当其他进程在写入文件之前,其他进程都不应该被阻塞。
我能想到的唯一方法是有两个FIFO_FILE。但是如何实现这个实现呢? 还是有其他方法可以实现吗?
我被告知使用Consumer-Producer模式,但我不明白这将如何解决我的问题。
任何帮助将是伟大的。谢谢!!
不是真的。但我认为使用信号来防止另一个进程写/读。 – user1420474