首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vb.Net异步XML写入?

Vb.Net异步XML写入?
EN

Stack Overflow用户
提问于 2015-12-16 15:57:29
回答 1查看 119关注 0票数 0

我有一个子例程,它检查XML文件是否重复,或者替换它们,或者写一个新的。

粗略的例子:

代码语言:javascript
复制
  Dim doc As New XmlDocument()
        doc.Load("xmlfile.xml")
 Dim node As XmlNode = doc.CreateNode(XmlNodeType.Element, "Listing", "")

   Dim MatchNamenode As XmlNode = doc.CreateElement("ListName") 'set a node
        MatchNamenode.InnerText = NewMatchName 'give it a value
        node.AppendChild(MatchNamenode) 'stick it in a parent

 doc.DocumentElement.AppendChild(node)
        doc.Save("xmlfile.xml")

效果很好。但是,如果我是多线程并使这个例程异步,这会导致某种I/O访问问题吗?

不同的线程将传递唯一的信息,因此结果重叠没有问题。但是,如果一个线程正在保存XML文件,这可能会阻止另一个线程访问它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 17:00:04

如果您想要多线程的处理,那么是的,您可以从一个线程的文件锁保存和阻止访问。

你有几个选择:

  1. 将数据读取到内存中,并对内存中的信息进行操作,然后用单个线程在结束时执行保存。
  2. 将要处理的文件分批到不同的集合,并将每个集交给任务。您将确保没有任何批处理包含对与另一个批处理相同文件的引用。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34316525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档