C#多线程-等待方法完成,然后再次运行。[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#多线程-等待方法完成,然后再次运行。[关闭]相关的知识,希望对你有一定的参考价值。
while(intVariable < 4))
{
DoSomeStuff();
if (intVariable == 3)
{
FinalDecide();
}
if (rollCounter < 3)
{
Decide(args);
}
intVariable++;
}
方法Decide()运行32个线程,我想确保在循环第二次开始Decide()之前第一次完成内部判断,我有这样的东西:
for (int i = 0; i < 32; i++) { Thread t = new Thread(new ParameterizedThreadStart(Prepare)); t.IsBackground = true; t.Start(i); } runner = new System.Threading.Thread(WaitforThreads); runner.IsBackground = true; runner.Start();
即使我等待这32个线程在本次Decide方法的运行中完成,代码仍会继续执行,并在第一个方法完成之前再次触发Decide方法,这会导致错误。我如何确保方法Decide在第二次启动之前完成WaitforThreads()方法?
我有一个看起来像这样的方法:while(intVariable <4)){DoSomeStuff();如果(intVariable == 3){FinalDecide(); } ...
Thread[]
,并将其保存到while循环可访问的变量中,然后在下次调用Decide之前加入所有线程:以上是关于C#多线程-等待方法完成,然后再次运行。[关闭]的主要内容,如果未能解决你的问题,请参考以下文章