我有一个包含多个线程的python应用程序,线程2到n可能会打开任意数量的文件。我想确保当线程1尝试打开文件时,由于文件描述符耗尽,它肯定不会失败。简而言之,我想保留文件描述符而不打开它们。 我只能控制从线程1运行的代码,这是在剩下大量文件描述符的时候产生的。
(作为一个例子,我想这可以通过从线程1打开/ dev / null几次'保留'fds来完成,并在线程1需要打开文件时关闭它,从而确保有至少有一个未使用的fd,但最终会引入竞争条件。)
有没有办法确保线程1在需要时可以使用fds而不修改2-n的线程?