请问可以用多线程保证文件读写的安全么(100分)

  • 主题发起人 主题发起人 inActive
  • 开始时间 开始时间
I

inActive

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中调用一个dll,而这个dll的功能是通过文件交换,也就是读写某几个文件完
成的。而我的程序要作为服务端,这样的话如果有多个客户端同时调用的话,就可能会发
生文件读写的冲突,请问可以用多线程来保证文件读写的安全么
 
能不能给点详细的解释或者类似的例子?
 
线程间同步
 
在文件头(或一个内存共享的变量中)加一个正在读写标志,线程如果遇到该标志就等待。没有该标志就先把该标志置为正在读写,然后操作文件。操作完成后把该标志改回去
 
一般都使用多讀一寫的方法,請參考 TMultiReadExclusiveWriteSynchronizer 的用法。
 
问题是文件读写的操作不是由我完成的,而是我调用的一个dll完成。我搞不明白的问题是如何通过多线程来保证调用这个dll时候文件的读写是安全的,请各位给予指教,谢谢!
 
你可以类似这样, 当一个用户在操作文件时, 给该 段代码加琐,操作文件完成后
开琐, 这就确保了任一时候操作文件,只能有一个用户在用。
 
后退
顶部