我做了一個服務,讀取一個XML。在XML中我有輸入目錄和輸出目錄。該服務選取輸入目錄中的文件並重命名它們並將它們移到輸出目錄。我想在服務中實現線程。我希望它在一個線程中選擇一個xml節點,而在另一個線程中選擇其他節點。或者,如果不考慮節點,一個線程選擇要執行的前10個操作,接下來的10個等等。這樣所有節點都以並行方式處理。誰可以幫我這個事?我嘗試閱讀幾個線程教程,但無法通過它們獲得很多。該服務代碼如下:線程的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幫你 – 2013-02-14 03:17:18