Я сделал сервис, который читает xml. В xml у меня есть каталог ввода и выходной каталог. Служба выбирает файлы в каталоге ввода и переименовывает их и перемещает их в выходной каталог. Я хочу реализовать потоки в службе. Я хочу, чтобы он выбирал один узел xml в одном потоке, а другой в другом. Или было бы хорошо, если независимо от узлов один поток выбирает первые 10 операций, которые будут выполняться, а следующий следующий 10 и так далее. Так что все узлы обрабатываются параллельно. Может ли кто-нибудь помочь мне в этом? Я пробовал читать несколько учебников по потокам, но не смог их получить. Код сервиса выглядит следующим образом:Threading для службы windows
XmlDocument doc = new XmlDocument();
doc.Load("Data.xml");
int count = doc.SelectNodes("Data/DataClass").Count;
for (int i = 1; i < count; i++)
{
string xpath = "/Data/DataClass[" + i + "]";
XmlNode node = doc.SelectSingleNode(xpath);
XmlNodeList subnode = node.ChildNodes;
string pathO = "";
string pathI = subnode[0].InnerText;
string prefix = subnode[2].InnerText;
string freq = subnode[3].InnerText;
string[] filenames = Directory.GetFiles(pathI);
node.ParentNode.RemoveChild(doc.SelectSingleNode(xpath));
doc.Save("Data.xml");
foreach (string filename in filenames)
{
pathO = subnode[1].InnerText;
pathO = pathO + "\\" + prefix;
string fname = Path.GetFileName(filename);
pathO = pathO + fname;
System.IO.File.Move(filename, pathO);
}
}
вы должны отказаться от мысли о том, сколько потоков вам нужно, и просто позволить Imran помочь вам –