如果一个文件正处于写入过程中,并且此时如果我尝试访问它,就好像它是每10毫秒写入一个日志文件一样,而且我试图访问它会损坏还是干扰写作过程?正在写入的文件
具体而言,我问的是视频文件,就像我开始录制过程(使用Windows Media Encoder)一样,此时我想监视文件是否为空白文件(到处都是黑色像素)或在那里是被记录的真实内容。
对不起,如果我的问题是一个新手,但我真的需要确保这一点。
最好提前上
如果一个文件正处于写入过程中,并且此时如果我尝试访问它,就好像它是每10毫秒写入一个日志文件一样,而且我试图访问它会损坏还是干扰写作过程?正在写入的文件
具体而言,我问的是视频文件,就像我开始录制过程(使用Windows Media Encoder)一样,此时我想监视文件是否为空白文件(到处都是黑色像素)或在那里是被记录的真实内容。
对不起,如果我的问题是一个新手,但我真的需要确保这一点。
最好提前上
一般来说,因为他们正在写的,而不会破坏其内容你一定可以读取文件。但是:
这是可能要面对一个问题,如果你的记录介质不能与组合数据速率或读取和写入的处理。这可能是一个问题,特别是对于慢速USB闪存驱动器。
它是如果读取和写入的组合超过硬盘驱动器可以处理的随机查找速率,也可能面临硬盘驱动器上的问题。在处理高清视频时,旧版驱动器(例如IDE)可能会更容易发生这种情况。
最终的结果是,如果你有一个实时记录器过程,如电视录像机,它可能被迫放弃一些数据 - 视频几帧的情况。
现代系统具有相当快的磁盘子系统,相当不错的I/O调度程序和足够大的RAM容量以允许进行大量数据缓存,这使单个写入器/读取器组合不太可能使磁盘子系统饱和,除非您正在做一些不寻常的事情,例如一次录制多个视频流。
但是请记住,认为:
磁盘子系统也可以通过不相关的进程读/来自同一驱动器写入其他文件饱和。
如果您正在对视频进行编码,如果有足够的CPU资源使得编码过程不再能够满足实时要求,则可能会丢失帧。根据视频文件的不同,测试播放可能就足够了 - 至少高清再现要求相当高。
如果你是幸运的有SSD硬盘中,寻求和数据:那么,依靠它来录制自己喜欢的节目:-)
编辑之前看你的CPU的负荷,实验利率通常应该不是问题。这留下了CPU - 你会很惊讶它是多么容易达到极限。
最重要的是,您应该尝试找出每个特定应用程序的系统限制。这样你就不会有任何令人讨厌的惊喜...
非常感谢,以及我有一台性能卓越的超级计算机,因此CPU使用率并不值得关注,因为我提供双核i7处理器和大约24 GB的RAM以及SS硬盘,但很了解它的细节.cheers – Burimi 2011-01-31 22:22:59