sdfgrtyu 2015-01-12 07:24 采纳率: 47.4%
浏览 1669
已采纳

程序运行和调试的问题

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你俩说的是一个意思吗?

  • 写回答

7条回答 默认 最新

  • threenewbee 2015-01-12 15:24
    关注

    多线程程序如果不同步,运行结果无法预料。因为线程谁执行快,谁执行慢,谁先谁后都是随机的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条