新手求教多线程的问题

gloryboy002 2013-03-06 07:40:06
下面的代码是创建一个多线程的例子,启动程序在for循环中动态创建多条线程可是为啥没有创建成功呢??只显示一个线程在运行showNum方法.... 请各位大大指点,谢谢
private void button1_Click(object sender, EventArgs e)
{
createThread();
}

void createThread()
{
for (int i = 0; i < 30; i++)
{
Thread th = new Thread(new ThreadStart(showNum));
th.IsBackground = true;
th.Start();
//label1.Text = "启动了" + i + "个线程对象!";
}
}

void showNum()
{
DateTime start = DateTime.Now;

for (int i = 0; i < 9999; i++)
{
textBox1.Text = i.ToString();
Thread.Sleep(100);
}

DateTime end = DateTime.Now;

TimeSpan span = end - start;

MessageBox.Show(span.Seconds.ToString());
}
...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leafmao 2013-03-07
  • 打赏
  • 举报
回复
textBox1.Text = i.ToString(); 不会出现跨线程错误吗?
maomixi 2013-03-07
  • 打赏
  • 举报
回复
开30个线程,无语。。线程一般不开这么多的
mabaolin 2013-03-07
  • 打赏
  • 举报
回复
textBox1.Text = i.ToString(); MessageBox.Show(span.Seconds.ToString()); 去掉,改成 console.writeline的方式,能从调试界面的输出窗口看到输出。
threenewbee 2013-03-06
  • 打赏
  • 举报
回复
不要在worker中访问UI。

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧