private void ThreadFun()
        {
              ..........
              Fun();
              ..........
        }
我怎么控制当A、B线程同时执行ThreadFun()时,只能有一个线程执行Fun(),另一个线程要等那个线程执行完Fun()后才开始执行Fun()

解决方案 »

  1.   

    private void ThreadFun()
            {
                  Fun1();
                  lock(this)
                  {
                      Fun2();
                  }
                  Fun3();
            }
    这样就是在线程A在执行Fun2()时,线程B执行完Fun1()后就等待A在执行Fun2()完成再继续往下执行?
      

  2.   

    to 这样就是在线程A在执行Fun2()时,线程B执行完Fun1()后就等待A在执行Fun2()完成再继续往下执行?正确
      

  3.   

    只能Lock类似生产者与消费者的情况。必须保持一致.