看板 Grad-ProbAsk 關於我們 聯絡資訊
請問為什麼答案是那樣 那個runner的程式看不太懂 https://i.imgur.com/zNiUg5a.jpg https://i.imgur.com/Ng45V0B.jpg ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.115.170.41 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1578993371.A.F9F.html ※ 編輯: bamboopole (58.115.170.41 臺灣), 01/14/2020 17:28:02 ※ 編輯: bamboopole (58.115.170.41 臺灣), 01/14/2020 18:20:01
mi981027: runner不用想太複雜 他就是把傳進來的值扣1而已 01/14 18:49
mi981027: 用c寫pthread麻煩的點在呼叫thread要執行的函式時 需要 01/14 18:49
mi981027: 送參數進去 設計上是呼叫pthread_create的同時傳參數進 01/14 18:50
mi981027: 去 但c傳遞參數又必須指定好型別 所以在create這邊一律 01/14 18:50
mi981027: 規定傳void指標進去 到函式內部再讓使用者自己轉型 如果 01/14 18:50
mi981027: 有想要讓thread return什麼東西的話 也要用類似的手法 01/14 18:50
mi981027: 另外要注意++v跟v++的差別 ++v是先更改值(先+1)再做其他 01/14 18:50
mi981027: 操作 但v++是先做其他操作,最後才更改值 01/14 18:50
mi981027: 對了還要小心print的順序 這邊每個parent都要wait後才會 01/14 18:51
mi981027: print 所以順序是DCBA 01/14 18:51
bamboopole: 感謝幫忙解答 01/14 19:33