我有一个用Delphi编写的命令行工具,其工作是在
XML文件中插入一个节点,然后立即退出.我需要使工具的几个实例同时执行,并将节点插入到同一个XML中.
为了实现这个目的,我引入了一个简单的文件“mutex” – 该工具在写入XML之前创建一个临时文件,然后在完成witing之后删除临时文件.因此,如果执行另一个实例,它会检查是否存在此临时文件,并等待它被删除.然后它再次创建临时文件,写入XML并删除临时文件.
问题是只有当2-3个实例尝试同时写入XML文件时才能正常工作.当有更多实例时 – 其中一些实例只是永远等待,并且永远不会将节点附加到XML中.
是否有更好的方法可以使大量实例同时运行并写入XML?