[問題] Multiprocess練習問題

看板C_and_CPP作者 (小白Z)時間5年前 (2019/05/17 20:11), 5年前編輯推噓5(5012)
留言17則, 6人參與, 5年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Linux 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) clang++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 利用multiprocess印出一行字,每個process只能印一個字元 例如印出Hello, World! 需要13個process照順序印出每個字元 餵入的資料(Input):預期的正確結果(Expected Output): Hello, World! 錯誤結果(Wrong Output): 大部分時候正確印出Hello, World! 但有時候是其他無法預期的錯誤結果 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) https://ideone.com/9RI620 補充說明(Supplement): 我是利用shared memory使每個process共用一塊記憶體存int sp 每個process印出 s[*sp]後將(*sp)++ 第一次練習multiprocess,遇到這種狀況真的不知道怎麼debug 希望版上的大大可以指導一下QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.136.129 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1558095108.A.695.html

05/17 20:20, 5年前 , 1F
你有同步嗎
05/17 20:20, 1F
好像沒有耶 請問該如何做到同步呢@@ ※ 編輯: OhYiDay (114.137.109.210), 05/17/2019 20:29:38

05/17 20:41, 5年前 , 2F
要同步就用lock 或semaphore 把你的critical section 包
05/17 20:41, 2F
好的 感謝!! 我去查一下

05/17 20:41, 5年前 , 3F
起來
05/17 20:41, 3F

05/17 20:44, 5年前 , 4F
也就是讀sp 修改sp這段
05/17 20:44, 4F
※ 編輯: OhYiDay (114.137.109.210), 05/17/2019 20:48:53

05/18 00:08, 5年前 , 5F
不同process 不能用semaphore 之類吧?(有些系統有na
05/18 00:08, 5F
有規定要一次fork全部的process 所以應該沒辦法用這個方法@@

05/18 00:08, 5年前 , 6F
mes semaphore 之類已可以在不同process 共用)。單要
05/18 00:08, 6F

05/18 00:08, 5年前 , 7F
達成multi-process 會不會考慮另一個簡單一點的方法?
05/18 00:08, 7F

05/18 00:08, 5年前 , 8F
一個 process print 一個字元後,fork 一個 child 繼
05/18 00:08, 8F

05/18 00:08, 5年前 , 9F
續印下一字元(然後子又生子...), 自己單純等child
05/18 00:08, 9F

05/18 00:08, 5年前 , 10F
完(甚至直接完結就算了)
05/18 00:08, 10F
※ 編輯: OhYiDay (220.137.136.129), 05/18/2019 00:55:37

05/18 01:05, 5年前 , 11F
可以用semaphore 啊,他們都是從同一個process fork的
05/18 01:05, 11F

05/18 01:14, 5年前 , 12F
你所講的只是把semaphore 區分為name跟uname 而已,就跟n
05/18 01:14, 12F

05/18 01:14, 5年前 , 13F
amed pipe與unamed pipe的差異一樣
05/18 01:14, 13F

05/18 19:03, 5年前 , 14F
葉亦成的OS齁
05/18 19:03, 14F
對 被發現了 哈哈 ※ 編輯: OhYiDay (42.73.159.62), 05/19/2019 03:31:07

05/19 04:18, 5年前 , 15F
哈哈 楊的路過
05/19 04:18, 15F

05/19 13:18, 5年前 , 16F
學弟妹給推
05/19 13:18, 16F

05/23 12:32, 5年前 , 17F
蠻好的題目 感謝分享
05/23 12:32, 17F
文章代碼(AID): #1StgK4QL (C_and_CPP)