我正在读取数百甚至数千个文件中的某些偏移量。因为我在那个特定时间只需要来自特定偏移量的特定数据,所以我必须保持文件句柄打开以供以后使用,或者我可以将需要的部分写入单独的文件中。
我认为保持所有这些文件句柄打开,而不是对新的临时文件进行大量写入磁盘,是两个缺点中较小的一个。我只是担心打开这么多文件句柄的效率。
通常,我会打开一个文件,寻找一个偏移量,读取一些数据,然后5秒后在另一个偏移量上做同样的事情,然后在2分钟的时间范围内对数千个文件执行所有这些操作。
这会是一个问题吗?
答:真的,我在问,是让这数千个文件句柄保持打开状态更好,还是经常关闭它们,然后在我瞬间需要它们的时候重新打开它们。
发布于 2010-08-10 14:18:26
1024是一个常见的默认值,所以如果您需要一次打开数千个文件,那么您可能希望在可移植性方面犯错误,并将应用程序设计为使用较小的打开文件描述符池。
发布于 2010-08-10 17:06:01
我建议您看看BitTorrent中的Storage.py。它包括一个文件句柄池的实现。
https://stackoverflow.com/questions/3446457
复制相似问题