作者bamboopole (竹竿)
看板Grad-ProbAsk
标题[理工] 106中山 资工 OS
时间Tue Jan 14 17:16:09 2020
请问为什麽答案是那样
那个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://webptt.com/cn.aspx?n=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
1F:推 mi981027: runner不用想太复杂 他就是把传进来的值扣1而已 01/14 18:49
2F:→ mi981027: 用c写pthread麻烦的点在呼叫thread要执行的函式时 需要 01/14 18:49
3F:→ mi981027: 送参数进去 设计上是呼叫pthread_create的同时传参数进 01/14 18:50
4F:→ mi981027: 去 但c传递参数又必须指定好型别 所以在create这边一律 01/14 18:50
5F:→ mi981027: 规定传void指标进去 到函式内部再让使用者自己转型 如果 01/14 18:50
6F:→ mi981027: 有想要让thread return什麽东西的话 也要用类似的手法 01/14 18:50
7F:→ mi981027: 另外要注意++v跟v++的差别 ++v是先更改值(先+1)再做其他 01/14 18:50
8F:→ mi981027: 操作 但v++是先做其他操作,最後才更改值 01/14 18:50
9F:→ mi981027: 对了还要小心print的顺序 这边每个parent都要wait後才会 01/14 18:51
10F:→ mi981027: print 所以顺序是DCBA 01/14 18:51
11F:→ bamboopole: 感谢帮忙解答 01/14 19:33