当前位置: 技术问答>linux和unix
子进程继承锁的问题
来源: 互联网 发布时间:2017-01-27
本文导语: 看APUE都搞糊涂了..... 在12.9节线程和fork这节说“子进程通过继承整个地址空间的副本,也从父进程那里继承了所有互斥量,读写锁和条件变量的状态。” 但是14.3节又说“有fork产生的子进程不继承父进程所设置的锁”...
看APUE都搞糊涂了.....
在12.9节线程和fork这节说“子进程通过继承整个地址空间的副本,也从父进程那里继承了所有互斥量,读写锁和条件变量的状态。”
但是14.3节又说“有fork产生的子进程不继承父进程所设置的锁”。
都搞糊涂了,到底这两句话有应该怎么理解啊?
在12.9节线程和fork这节说“子进程通过继承整个地址空间的副本,也从父进程那里继承了所有互斥量,读写锁和条件变量的状态。”
但是14.3节又说“有fork产生的子进程不继承父进程所设置的锁”。
都搞糊涂了,到底这两句话有应该怎么理解啊?
|
一个是记录锁,一个是互斥锁,记录锁是以文件的形式存在的,独立于进程本身,所以fork后不继承。而互斥锁对应的是一个数据结构,存在于内存里面,所以fork后会继承。