我有一个子例程,它检查XML文件是否重复,或者替换它们,或者写一个新的。
粗略的例子:
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文件,这可能会阻止另一个线程访问它吗?
发布于 2015-12-16 17:00:04
如果您想要多线程的处理,那么是的,您可以从一个线程的文件锁保存和阻止访问。
你有几个选择:
https://stackoverflow.com/questions/34316525
复制相似问题