线程和fork,为什么要使用pthread_atfork?(一楼从来都有分)

时间:2021-05-02 14:21:30
       为什么要使用pthread_atfork呢?《unix环境高级编程》书里面看的糊涂,哪位给讲讲

5 个解决方案

#1


是吗 ?  接分,然后答问题

#2


这个我也比较模糊,占位
书上说的是,子进程继承了父进程中的锁定状态,但是不知道哪些锁是锁定的..
所以子进程需要借助于pthread_atfork来清理

#3


调用pthread_atfork是因为父进程在fork子进程后,子进程也有了父进程的锁,一把锁怎么能两个人拥有呢,所以就需要调用pthread_atfork函数来处理这个问题(注:整个回答是基于父进程拥有多个线程,如果是单个就不需要了)

#4


引用 1 楼 yangzhifu 的回复:
是吗 ? 接分,然后答问题
这个没们  这样的话就是二楼

#5


该回复于2010-12-20 14:02:30被版主删除

#1


是吗 ?  接分,然后答问题

#2


这个我也比较模糊,占位
书上说的是,子进程继承了父进程中的锁定状态,但是不知道哪些锁是锁定的..
所以子进程需要借助于pthread_atfork来清理

#3


调用pthread_atfork是因为父进程在fork子进程后,子进程也有了父进程的锁,一把锁怎么能两个人拥有呢,所以就需要调用pthread_atfork函数来处理这个问题(注:整个回答是基于父进程拥有多个线程,如果是单个就不需要了)

#4


引用 1 楼 yangzhifu 的回复:
是吗 ? 接分,然后答问题
这个没们  这样的话就是二楼

#5


该回复于2010-12-20 14:02:30被版主删除