private void button1_Click(object sender, EventArgs e)
{
List<string> ncmFile=new List<string>();
ncmFile.Add("NCM1");
ncmFile.Add("NCM2");
List<string> naeFile = new List<string>();
naeFile.Add("NAE1");
naeFile.Add("NAE2");
for (int i = 0; i < ncmFile.Count; i++)
{
Thread t = new Thread(new ThreadStart(()=>NCMNAEConversion(ncmFile[i], naeFile[i])));
t.Start();
}
}
public void NCMNAEConversion(string ncmFileName, string naeFile)
{
//conversion process
}
注意:示例代码在上面,我想同时运行基于ncmList的NCMNAEConversion方法。这个线程同时运行吗?同时启动多个线程
是,虽然有电脑没有纯粹的同步。顺便说一句,你可以使用'NCMNAEConversion'方法中的'Console.WriteLine'方便地测试 – gdoron
警告 - 你正在捕获你的lambdas中的'i'变量 - 很可能多个线程实际上会使用相同的'我的价值(有些可能使用超出数组边界的值) –