多线程实现多个任务?

灰鸟会灰 2010-02-03 11:54:11
类似下面这个功能:1.始接收数据时,界面显示“正在接收……”,2.完毕后开始保存,此时界面显示“已接受,正在保存……”

thread show new Thread(delegate() {(Show ("正在接收…")));
show.start();
thread ta new Thread(new ThreadStart(A));
ta.start();


void show(string msg)
{
label1.Text=msg;
}
void A()
{
接收();

// 接收完后执行保存
thread show new Thread(delegate() {(Show ("已接收,正在保存…")));
show.start();
thread tb= new Thread(new ThreadStart(B));
tb.start();
}

void B()
{
保存();
label1.Text="保存成功";
}

现在第一个问题已解决,但是当我接收完时,启动另一个线程以让“正在保存……”显示出来,结果不是这样的。
我认为可能是保存的线程放在方法里,这就不能异步执行了。


请问怎么实现?即一个线程执行完后,另一个线程接着执行?
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
readfuture 2010-02-03
  • 打赏
  • 举报
回复
友情 帮顶。
灰鸟会灰 2010-02-03
  • 打赏
  • 举报
回复
thread show new Thread(delegate() {(Show ("正在接收…")));
写的急,写错了
thread show new Thread(delegate() {Show ("正在接收…");});
灰鸟会灰 2010-02-03
  • 打赏
  • 举报
回复
我是楼主,谁能告诉我我写的那个为什么不行呢?
灰鸟会灰 2010-02-03
  • 打赏
  • 举报
回复
期望详解,最好能给出代码
josephSC 2010-02-03
  • 打赏
  • 举报
回复
up
hhhh63 2010-02-03
  • 打赏
  • 举报
回复
建一个全局的标志变量
每个线和跟据这个变量决定自己做什么,或等待

搜索“线程同步”,还有很多其它的方法和注意事项。
wosizy 2010-02-03
  • 打赏
  • 举报
回复
http://dev.tot.name/csharp/html/20090314/20090314233935.htm
灰鸟会灰 2010-02-03
  • 打赏
  • 举报
回复
up

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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