如何使两个子线程先后依次执行?

luckyTOTO 2007-04-16 12:49:52
Thread t1 = new Thread(new ThreadStart(Method1));
t1.Start();
Thread t2 = new Thread(new ThreadStart(Method2));
t2.Start();
t1 执行完之后t2执行
...全文
284 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Avoid 2007-04-16
  • 打赏
  • 举报
回复
join
luckyTOTO 2007-04-16
  • 打赏
  • 举报
回复
不能用join因为父线程要同时执行
dugupiaoyun 2007-04-16
  • 打赏
  • 举报
回复
private System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(true);

void button_onclick(....)
{
Thread t1 = new Thread(new ThreadStart(Method1));
Thread t2 = new Thread(new ThreadStart(Method2));
mre.Reset();
t1.Start();
mre.WaitOne();
t2.Start();
}

void Method1()
{
....
mre.Set();
}
viena 2007-04-16
  • 打赏
  • 举报
回复
//不能用join因为父线程要同时执行
与父线程无关
viena 2007-04-16
  • 打赏
  • 举报
回复
在线程2的执行函数前面加上一句Thread1变量名.Join();
magicsnake 2007-04-16
  • 打赏
  • 举报
回复
在线程2的执行函数中加上等待线程1的控制代码
hatita 2007-04-16
  • 打赏
  • 举报
回复
依次执行?
ThreadPool.QueueUserWorkItem 线程池

110,536

社区成员

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

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

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