[理工] 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