如果一个文件处于写入过程中,此时如果我尝试访问它,就好像它是一个每10毫秒写一次的日志文件而我试图访问它会损坏或打扰写作过程?
具体来说,我问的是视频文件,比如我是否开始录制过程(使用Windows Media Encoder),此时我想监视文件,如果它是一个空白文件(到处都是黑色像素)或者有正在录制的内容。
很抱歉,如果我的问题是新手问题,但我真的需要确定这一点。
最佳提前
答案 0 :(得分:1)
通常,您可以在编写文件时读取文件,而不会破坏其内容。但是:
如果您的记录媒体无法处理组合数据速率或读取和写入,则 可能会面临问题。这可能是一个问题,特别是对于慢速USB闪存驱动器。
如果读取和写入的组合超过了硬盘驱动器可以处理的随机搜索率,那么 也可能面临硬盘驱动器上的问题。在处理高清视频时,这可能更容易在旧驱动器(例如IDE)上发生。
最终结果是,如果你有一个实时的编写过程,比如电视录像机,它可能会被迫丢弃一些数据 - 如果是视频几帧。
现代系统具有相当快的磁盘子系统,相当好的I / O调度程序和足够大的RAM容量以允许广泛的数据缓存,这使得单个写入器/读取器组合不太可能使磁盘子系统饱和,除非您是做一些不寻常的事情,比如一次录制几个视频流。
但请记住:
磁盘子系统也可能被不相关的进程读取/写入来自同一驱动器的其他文件。
如果您正在编码视频,如果某些内容消耗了足够的CPU资源,编码过程无法满足实时要求,您也可能会丢失帧。根据视频文件的不同,测试播放可能就足够了 - 至少HD复制可能非常苛刻。因此,在依靠它来记录您最喜欢的节目之前,请注意您的CPU负载和实验: - )
编辑:
如果您是拥有SSD驱动器的幸运者之一,那么搜索和数据速率通常应该是无问题的。这就离开了CPU - 你会惊讶于将它推到极限是多么容易。
最重要的是,您应该尝试找出每个特定应用程序的系统限制。这样你就不会有任何令人讨厌的惊喜......