我試圖在兩個進程(如聊天室)之間進行通信。每個進程都有自己的終端窗口。我正在使用命名管道進行通信。使用命名管道和信號量進行兩個進程之間的通信
這裏就是我所做的:
我有一個名爲 「MYFILE」 FIFO_FILE。過程A將新行寫入MYFILE,過程B從MYFILE讀取並將行輸出到過程B的終端顯示。然而,如果進程B想要寫一個新行到MYFILE,(根據我對信號量的理解),進程A將被阻止讀/寫MYFILE,直到進程B完成寫入。
我想實現的是:當兩個進程想要寫入時,當其他進程在寫入文件之前,其他進程都不應該被阻塞。
我能想到的唯一方法是有兩個FIFO_FILE。但是如何實現這個實現呢? 還是有其他方法可以實現嗎?
我被告知使用Consumer-Producer模式,但我不明白這將如何解決我的問題。
任何幫助將是偉大的。謝謝!!
不是真的。但我認爲使用信號來防止另一個進程寫/讀。 – user1420474