[理工] 106中山 資工 OS

作者: bamboopole (竹竿)   2020-01-14 17:16:09
請問為什麼答案是那樣
那個runner的程式看不太懂
https://i.imgur.com/zNiUg5a.jpg
https://i.imgur.com/Ng45V0B.jpg
作者: mi981027 (呱呱竹)   2020-01-14 18:49:00
runner不用想太複雜 他就是把傳進來的值扣1而已用c寫pthread麻煩的點在呼叫thread要執行的函式時 需要送參數進去 設計上是呼叫pthread_create的同時傳參數進去 但c傳遞參數又必須指定好型別 所以在create這邊一律規定傳void指標進去 到函式內部再讓使用者自己轉型 如果有想要讓thread return什麼東西的話 也要用類似的手法另外要注意++v跟v++的差別 ++v是先更改值(先+1)再做其他操作 但v++是先做其他操作,最後才更改值對了還要小心print的順序 這邊每個parent都要wait後才會print 所以順序是DCBA
作者: bamboopole (竹竿)   2020-01-14 19:33:00
感謝幫忙解答

Links booklink

Contact Us: admin [ a t ] ucptt.com