多线程式中怎样才能让线程执行完才进行接下去的操作?
比如说一个函数public void test()
{
multiThread();//这里是调用多线程的函数,里面可能有几个线程正在运行 .....//下面还有别的代码
.....
.....}
那么要怎样让multiThread();这个执行完才接着执行下面的代码,
在单线程中,只有一步一步执行完了才会执行下面的代码,不知道要怎么解决,
比如说一个函数public void test()
{
multiThread();//这里是调用多线程的函数,里面可能有几个线程正在运行 .....//下面还有别的代码
.....
.....}
那么要怎样让multiThread();这个执行完才接着执行下面的代码,
在单线程中,只有一步一步执行完了才会执行下面的代码,不知道要怎么解决,
用一个标识变量
bool flag = false;
/*
第一个线程
结束以后 flag = true;
*/while (true)
{
if(flag ==tue)
{
/*
执行另一个异步线程
break;
*/
}
}
的方法我刚才也想到了,谢谢hdt(倦怠)
要监视什么东西啊,我才刚学线程,不是很了解?
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
Thread t = new Thread( new ThreadStart(mythread));
Monitor.Enter(t);
t.Start();
Monitor.Wait( t);
Console.WriteLine("thread end");
Console.ReadLine();
}
public static void mythread()
{
Monitor.Enter( Thread.CurrentThread );
int i=10;
while( i>0 )
{
Console.WriteLine( "thread run" );
i--;
}
Monitor.Exit( Thread.CurrentThread );
}
}
更新UI的委托就没有效果了