List userList = new List
{
new UserModel{ UserName="jiejiep", UserAge = 26},
new UserModel{ UserName="xiaoyi", UserAge = 25},
new UserModel{ UserName="zhangzetian", UserAge=24}
};
public class TempClass
{
public UserModel um
{
get;
set;
}
public void ShowMessage(object obj)
{
Thread.Sleep(1000);
MessageBox.Show(um.UserName);
}
}
復制代碼
復制代碼
TempClass tempCls = new TempClass();
foreach (var u in userList)
{
tempCls.um = u;
ThreadPool.QueueUserWorkItem((obj) =>
{
tempCls.ShowMessage(obj);
});
}
調試結果和運行結果不同,能不能給我解釋一下
都是高手,但是解釋的不一樣,我該相信誰的?
cazhy和bdmh你倆說的是一個意思嗎?
多線程程序如果不同步,運行結果無法預料。因為線程誰執行快,誰執行慢,誰先誰後都是隨機的。