2011-01-31 53 views
0

如果一个文件正处于写入过程中,并且此时如果我尝试访问它,就好像它是每10毫秒写入一个日志文件一样,而且我试图访问它会损坏还是干扰写作过程?正在写入的文件

具体而言,我问的是视频文件,就像我开始录制过程(使用Windows Media Encoder)一样,此时我想监视文件是否为空白文件(到处都是黑色像素)或在那里是被记录的真实内容。

对不起,如果我的问题是一个新手,但我真的需要确保这一点。

最好提前上

回答

1

一般来说,因为他们正在写的,而不会破坏其内容你一定可以读取文件。但是:

  1. 可能要面对一个问题,如果你的记录介质不能与组合数据速率或读取和写入的处理。这可能是一个问题,特别是对于慢速USB闪存驱动器。

  2. 如果读取和写入的组合超过硬盘驱动器可以处理的随机查找速率,也可能面临硬盘驱动器上的问题。在处理高清视频时,旧版驱动器(例如IDE)可能会更容易发生这种情况。

最终的结果是,如果你有一个实时记录器过程,如电视录像机,它可能被迫放弃一些数据 - 视频几帧的情况。

现代系统具有相当快的磁盘子系统,相当不错的I/O调度程序和足够大的RAM容量以允许进行大量数据缓存,这使单个写入器/读取器组合不太可能使磁盘子系统饱和,除非您正在做一些不寻常的事情,例如一次录制多个视频流。

但是请记住,认为:

  1. 磁盘子系统也可以通过不相关的进程读/来自同一驱动器写入其他文件饱和。

  2. 如果您正在对视频进行编码,如果有足够的CPU资源使得编码过程不再能够满足实时要求,则可能会丢失帧。根据视频文件的不同,测试播放可能就足够了 - 至少高清再现要求相当高。

    如果你是幸运的有SSD硬盘中,寻求和数据:那么,依靠它来录制自己喜欢的节目:-)

编辑之前看你的CPU的负荷,实验利率通常应该不是问题。这留下了CPU - 你会很惊讶它是多么容易达到极限。

最重要的是,您应该尝试找出每个特定应用程序的系统限制。这样你就不会有任何令人讨厌的惊喜...

+0

非常感谢,以及我有一台性能卓越的超级计算机,因此CPU使用率并不值得关注,因为我提供双核i7处理器和大约24 GB的RAM以及SS硬盘,但很了解它的细节.cheers – Burimi 2011-01-31 22:22:59