4
我目前的任務是關於使用共享內存在Linux
中實現pipe()
。如何使用共享內存和信號量來實現管道?
由於這是我第一次使用信號量&共享內存(mutex
也)我沒有零經驗。
有人可以解釋一下它的實現嗎?感謝
我目前的任務是關於使用共享內存在Linux
中實現pipe()
。如何使用共享內存和信號量來實現管道?
由於這是我第一次使用信號量&共享內存(mutex
也)我沒有零經驗。
有人可以解釋一下它的實現嗎?感謝
開始與下面的手冊頁:
共享內存
ftok
shmget
shmat
shmctl
shmdt
信號燈
sem_init
sem_wait
sem_post
的想法是,將使用您的管道,兩個不同的應用能夠交換數據。這可以通過共享內存完成。還應該完成一些同步(這裏是信號量),以確保進程讀取的數據是一致的。例如,您必須阻止進程A寫入管道,直到進程B從先前寫入的管道中讀取數據。
StackOverflow不是教程網站。你瞭解成分概念嗎?你知道共享內存是什麼,以及如何同步併發訪問內存?對於這些主題中的每一個,您可以在各處找到充足的資料,書籍,互聯網甚至維基百科。請在進行一些背景研究後,只有在您遇到具體的絆腳石時發佈問題。祝你好運! –