我的文件目前是有线程在进行读操作,而还有中断回调函数在进行写,文件现在是共享读写打开,这样会有问题吗各位高手? 需要进行互斥操作吗,如果不需要好象出现了一些怪问题,如果需要,程序性能会降低,怎么办呢?请高手指点迷津.........

解决方案 »

  1.   

    不知道你默认使用的是什么打开方式?CreateFile("filename", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
    给第三个参数传递0,就可以不允许共享的打开,也就是说你第一次打开以后再也不能打开这个文件,直到你关闭了这个返回的句柄才行
      

  2.   

    如果已经使用CreateFile并且第三个参数是0,成功打开文件后,以后对这个文件的打开操作都会失败的……
      

  3.   

    如果读写指针能始终保持一定的距离,没有必要用临界区。
    在每次写文件后记得Flush()一下。