首页 新闻 会员 周边 捐助

C# 多线程操作同一个xml文档

0
悬赏园豆:5 [已解决问题] 解决于 2015-07-09 21:44

多个线程读写同一个xml文档,除了用flag标志位判断外,还能怎么保证同一时刻只允许一个线程操作这个xml文档!不考虑用数据库代替

李辉健的主页 李辉健 | 初学一级 | 园豆:56
提问于:2014-09-17 20:48
< >
分享
最佳答案
0

写一个操作这个XML文档的方法,在这个方法里加锁,线程都通过调用这个方法来实现xml文档的操作。

收获园豆:5
519740105 | 大侠五级 |园豆:5810 | 2014-09-17 21:24

多个方法都有对同一个xml的读写操作呢  lock在哪里?

李辉健 | 园豆:56 (初学一级) | 2014-09-18 13:15

@King_Boxing: 当然lock在这个公共读取函数里。

519740105 | 园豆:5810 (大侠五级) | 2014-09-18 13:31
其他回答(6)
0

加锁机制。

telang | 园豆:646 (小虾三级) | 2014-09-17 21:08
1

加锁,排他,独占资源,联系数据库中的锁机制

铁手三郎 | 园豆:311 (菜鸟二级) | 2014-09-17 22:10
0

线程安全的单例模式可以用一用 

Halower | 园豆:1723 (小虾三级) | 2014-09-18 00:30
1

如果是file文件系统,直接使用IO锁了。

你以读写方式打开XML文件时这个文件就会被加锁,其他线程和进程都不能使用这个文件。

在使用这个文件的时候判断读取是否成功就行了

吴瑞祥 | 园豆:29449 (高人七级) | 2014-09-18 08:45
0

加锁,每一个线程操作这个xml的时候加锁,操作完了解锁,其他进程要操作的话要么排队,要么不让它进行

最长的路漫漫 | 园豆:252 (菜鸟二级) | 2014-09-18 13:30
0

同意IO锁。 允许同时读,但写入会给文件加锁,不允许读和写。

gunsmoke | 园豆:3592 (老鸟四级) | 2014-09-19 09:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册