以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  [求助]如何使多个线程同时访问文件,而不出现拒绝?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=19070)


--  作者:sugarsupper
--  发布时间:5/31/2005 11:25:00 PM

--  [求助]如何使多个线程同时访问文件,而不出现拒绝?
int num=6;
Thread[] threads=new Thread[num]
for(int i=0;i<num;i++)
{
   FDO f=new FOD(i);
   threads[i]=new Thread(new ThreadStart(f.DoWork));
   threads[i].Start();
}
其中每个线程都访问一个XML文件,加载方式为
XmlDocument xd=new XmlDocument()
xd.Load(filePath);
threads[i]是为了确保第i个线程只修改文件中的第i个元素,
每个线程都在一定的循环中向文件写数据,我跟踪过文件中的数据,发现有些是没有写完的,而且
有时抛出异常,说该文件正被另一进程访问,访问拒绝.
是不是由于不停的读,写文件,造成冲突呢 ?
怎么会无法全部写完数据?
如何使多个线程同时访问文件,而不出现拒绝?
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms