【急】多用户操作多个XML并发问

mydear303 2011-09-22 01:57:55
有N个XML文件(a.xml、b.xml、c.xml . . . . . .)

对一个XML文件的操作有:
1、add(string xmlName)
2、delete(string xmlName)
3、update(string xmlName)

有N个用户通过不同线程去调用add / delete / update 方法,如何解决并发问题?

1、如果不同的用户同时操作不同的XML(xmlName参数区分),那操作同时进行,

不相互等待影响;

2、如果不同的用户同时操作相同的XML,各种操作先后执行而且结果不相互覆盖

(不出异常得全部执行成功)
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Herbert 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mydear303 的回复:]

如果不同用户访问不同XML,那会不会有影响?

如:A用户操作a.xml,B用户操作b.xml,同时的

那会不会出现等待……
[/Quote]

直接用肯定不满足你说的第一条 就看你怎么写逻辑了
mydear303 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 herbt 的回复:]

用线程锁

object mylock = new object();

public bool add(string xmlName)
{
lock(mylock)
{
// 你的逻辑
}
}
[/Quote]

如果不同用户访问不同XML,那会不会有影响?

如:A用户操作a.xml,B用户操作b.xml,同时的

那会不会出现等待现象?
bdmh 2011-09-22
  • 打赏
  • 举报
回复
必须加锁,否则不可想象
  • 打赏
  • 举报
回复
锁定进程,用户操作完毕,才允许别的访问
Herbert 2011-09-22
  • 打赏
  • 举报
回复
用线程锁

object mylock = new object();

public bool add(string xmlName)
{
lock(mylock)
{
// 你的逻辑
}
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧