多线程式中怎样才能让线程执行完才进行接下去的操作?
比如说一个函数public void test()
{
   
    multiThread();//这里是调用多线程的函数,里面可能有几个线程正在运行    .....//下面还有别的代码
    .....
    .....}
那么要怎样让multiThread();这个执行完才接着执行下面的代码,
在单线程中,只有一步一步执行完了才会执行下面的代码,不知道要怎么解决,

解决方案 »

  1.   

    hehe,用小窍门
    用一个标识变量
    bool flag = false;
    /*
    第一个线程
    结束以后 flag = true;
    */while (true)
    {
    if(flag ==tue)
    {
    /*
    执行另一个异步线程
    break;
    */
    }
    }
      

  2.   

    winner2050(winner) 
    的方法我刚才也想到了,谢谢hdt(倦怠) 
    要监视什么东西啊,我才刚学线程,不是很了解?
      

  3.   

    [STAThread]
    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 );
    }
    }
      

  4.   

    使用Monitor
    更新UI的委托就没有效果了