并发读取/编辑文件
我有一个平面文件数据库(一个xml文件)。我有一个读取和编辑这个数据库的客户端。我有许多客户端连接到一个目录中的xml文件。如果一个客户端进行编辑,则需要在所有客户端上进行更新。并发读取/编辑文件
我不能使用一个数据库,必须使用此平面文件结构(即我不能运行所有的时间管理服务器应用程序)
客户端运行的是XP和.NET
这个问题的现代解决方案是什么?我有一段时间没有做过任何XP或.NET编码,简单地使用文件锁定会很容易吗?你甚至在XP上有单独的读/写锁吗?
编辑
的客户都在单独的机器和数据库存储在网络共享上。
回答:
您可以使用System.Threading.Mutex来处理对此文件的读取/编辑访问。在你的类中,你操纵这个平面文件或读取它,你应该写
yourMutex.WaitOne(); ReaderOrWrite();
yourMutex.ReleaseMutex();
,你可以找到一个很好的示例代码here其中也处理的情况没有互斥体已经被创建时。
互斥是一种信号量的用于处理多访问关键领域,在您的示例XML文件,并提供解决方案,以防止关键部分的并行执行。
以上是 并发读取/编辑文件 的全部内容, 来源链接: utcz.com/qa/264757.html