当前位置: 技术问答>linux和unix
文件描述的回收问题,谢谢
来源: 互联网 发布时间:2016-09-14
本文导语: 在子线程中打开文件 读后,关闭,但在/proc/PID/fd中打开的文件描述符还存在,为什么?循环打开关闭时,为什么fd在不断的增长? 帮小弟解决,谢谢 | /proc/PID/fd记录的是进程中打开的文件描...
在子线程中打开文件 读后,关闭,但在/proc/PID/fd中打开的文件描述符还存在,为什么?循环打开关闭时,为什么fd在不断的增长? 帮小弟解决,谢谢
|
/proc/PID/fd记录的是进程中打开的文件描述符链接。在主线程终止的情况下,这个文件才会变为空。至于循环打开关闭时,fd为何会增大,按道理讲linux每次打开文件都会返回最小的可用的文件描述符,莫非是因为/proc/PID/fd没有被清空的缘故?
|
在主线程中使用循环启动多个线程,每次创建新线程后,是调用线程的代码先执行还是被调用线程的代码先执行,是不确定的。
根据LZ的描述,执行过程大概应该是:在循环中主线程每次创建新线程后,继续执行,而被调用线程则等待执行直到循环结束。但这个过程只是一种可能,如果LZ的程序运行多次或增加循环的次数,肯定会出现多种结果。
根据LZ的描述,执行过程大概应该是:在循环中主线程每次创建新线程后,继续执行,而被调用线程则等待执行直到循环结束。但这个过程只是一种可能,如果LZ的程序运行多次或增加循环的次数,肯定会出现多种结果。
|
线程的退出和描述符的回收不是同步的。他们是分开进行的。
|
顶2楼
|
可能是回收不同步