runner不用想太複雜 他就是把傳進來的值扣1而已用c寫pthread麻煩的點在呼叫thread要執行的函式時 需要送參數進去 設計上是呼叫pthread_create的同時傳參數進去 但c傳遞參數又必須指定好型別 所以在create這邊一律規定傳void指標進去 到函式內部再讓使用者自己轉型 如果有想要讓thread return什麼東西的話 也要用類似的手法另外要注意++v跟v++的差別 ++v是先更改值(先+1)再做其他操作 但v++是先做其他操作,最後才更改值對了還要小心print的順序 這邊每個parent都要wait後才會print 所以順序是DCBA