标题:[求助]Thread怎么不执行了
只看楼主
xbdeig
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-8-7
 问题点数:0 回复次数:12 
[求助]Thread怎么不执行了
for (int j = 0; j < 5; j++)
{
// 设置要从辅助线程添加到 ListBox 中的
// 消息
Label1.Text = Label1.Text + j.ToString();
// 在 ListBox 的线程上下文中调用 WorkerUpdate
// 方法
Thread.Sleep(700);
}
为什么页面显示的是0

如果没有 Thread.Sleep(700);
显示的是01234 啊

[此贴子已经被作者于2006-12-23 13:55:18编辑过]

搜索更多相关主题的帖子: Thread 线程 ListBox Sleep 
2006-12-23 13:30
swc
Rank: 3Rank: 3
等 级:论坛游民
威 望:6
帖 子:394
专家分:83
注 册:2006-4-7
得分:0 

我测试了一下,完全可以执行.
估计是你程序的其他部分有错.你再检查一下吧.


实践、学习、再实践、再学习......
2006-12-23 16:45
xbdeig
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-8-7
得分:0 
不好意思,完整代码是这样的,为什么执行了Label显示的是0呀?
protected void Button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(this.Update));
t.Start();
}
public void Update()
{
for (int j = 0; j < 5; j++)
{
Label1.Text = Label1.Text + j.ToString();
Thread.Sleep(700);
}
}

授人以鱼不如授人以渔
2006-12-23 19:04
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 
你用的版本是2003
2006-12-23 19:49
xbdeig
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-8-7
得分:0 
我用2005 的,有关系吗?

授人以鱼不如授人以渔
2006-12-23 21:47
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
没有关系..也不应该有错.

飘过~~
2006-12-24 01:46
xbdeig
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-8-7
得分:0 
如果循环里这样写就什么也显示不出来,是不是睡着了,叫不醒了?还是页面显示 不出来?
Thread.Sleep(700);
Label1.Text = Label1.Text + j.ToString();

授人以鱼不如授人以渔
2006-12-24 10:27
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 
以下是引用xbdeig在2006-12-23 19:04:08的发言:
不好意思,完整代码是这样的,为什么执行了Label显示的是0呀?
protected void Button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(this.Update));
t.Start();
}
public void Update()
{
for (int j = 0; j < 5; j++)
{
Label1.Text = Label1.Text + j.ToString();
Thread.Sleep(700);
}
}

在2005里面这段代码竟然没有错,那真是奇怪了。

跨越线程。。。

2006-12-24 13:59
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 
楼主,你用2005这样写都没出错,把整段代码帖上来看看
2006-12-24 14:10
xbdeig
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-8-7
得分:0 


using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Threading;

public partial class 线程 : System.Web.UI.Page
{

public void Button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(this.Update));
t.Start();
}
public void Update()
{
for (int j = 0; j < 5; j++)
{
Label1.Text = Label1.Text + j.ToString();
Thread.Sleep(700);
}
Label2.Text = Label1.Text;
}
}
全部的就是这样了,是不是线程睡着了,醒不来了?


授人以鱼不如授人以渔
2006-12-24 19:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-111508-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.340697 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved