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'變量 - 很可能多個線程實際上會使用相同的'我的價值(有些可能使用超出數組邊界的值) –