在C#中多用户或多线程对用同一个XML进行同时操作,应该如何处理?
在C#中多用户或多线程对用同一个XML进行同时操作,应该如何处理?
请高手们给点资料,或者代码片段,哪怕写点心得也行。。
谢谢。。
------解决方案--------------------·1 用数组放置用户请求列表。
2 对XML的文件状态进行标记. 分,正在操作、空闲状态
线程1: 当用户请求访问时,将请求放置数组中。
线程2: 对数组进行遍历,控制XML文档。
------解决方案--------------------用Lock锁定XML不就可以了,不需要自己做访问队列
------解决方案--------------------public class ReadXml
{
private static object res = new object();
public static void Read()
{
lock(res)
{
//读取XML
}
}
}
------解决方案--------------------数据库操作
ReaderWriterLock
多个执行线程,分割文件
private static object objectLock = new object();
lock (objectLock)
{}