程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 代碼-程序運行和調試的問題

代碼-程序運行和調試的問題

編輯:編程綜合問答
程序運行和調試的問題

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你倆說的是一個意思嗎?

最佳回答:


多線程程序如果不同步,運行結果無法預料。因為線程誰執行快,誰執行慢,誰先誰後都是隨機的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved