程序A不断得到数据并写到文件F中.程序B又不断的从文件F中读取数据等操作.
两者说如果不设置同步信号的话,是否一定会出错? 有没有简单有效的方法保证在程序A写文件F时,程序B不会去读文件F呢?
谢谢!

解决方案 »

  1.   

    用LockFile函数锁定一个打开文件的某一个区域,可以防止其它进程访问该区域。
    LockFile API函数在msdn中的声明如下:BOOL LockFile(
      HANDLE hFile,           // handle of file to lock
      DWORD dwFileOffsetLow,  // low-order word of lock region offset
      DWORD dwFileOffsetHigh,  // high-order word of lock region offset
      DWORD nNumberOfBytesToLockLow,
                              // low-order word of length to lock
      DWORD nNumberOfBytesToLockHigh 
                              // high-order word of length to lock
    );
    [email protected]
    [email protected]
     
      

  2.   

    如果用LockFile MSDN上只是对进程间锁定有效哇.如果是两个线程同时对这个文件作读写呢?而且第次写的时候大小也变化呢?
      

  3.   

    唉.看来还是只能作线程同步啦.
    LockFile还是只对Process有效啊.