最近又翻起了以前写的笔记,看到pthread_join函数的第二个参数为一个二级指针,感到有点困惑。
查阅相关资料也没理出个大概,现进行如下猜测,望指教:
由于线程的返回值为一个void类型的指针,我理解为一个地址,返回时将线程中的返回数据写入某个地址空间,再由主进程去读取,这样整个流程变为:
1、将void型的指针写入一个存储空间中,于是该存储空间存放了一个地址(指向该空间的指针就为二级指针)
2、将该存储空间的地址(二级指针)告诉主进程
3、主进程去读取该地址存放的地址变量
所以接收返回值的变量为一个二级指针,该返回值就为该指针取*。