如果我用CreateFile打开文件进行Read,并设置FILE_SHARE_WRITE标志。然后其它程序可能也打开该文件进行Write。
请问这样是否会影响我的Read?会造成我读取的文件不是完整的,一部分是旧文件内容,一部分是新文件内容?
或者会带来其它的一些问题?

解决方案 »

  1.   

      如果有其它线程需要写入此文件,需要设置FILE_SHARE_WRITE标志。此时需要考虑多线程的同步问题,
    临界区或者互斥都可以。  如果对此没有把握或者没有必要,可考虑用独占方式打开文件进行读写。
      

  2.   

    不是程序里面其它线程读写,是其它进程可能会对文件进行读写。
    这样的话很可能会出现读取的文件不完整?一定不能加FILE_SHARE_WRITE标签?
      

  3.   

    FILE_SHARE_READ 用个标志来实现这样不就用考虑其它写的问题了!!!