不推荐了,还可以用,但是不保证后续版本中继续支持采用信号量来进行线程同步更好,是推荐做法

解决方案 »

  1.   

    可以用,只不过是不推荐而已。
      

  2.   

    那两个方法容易引起线程死锁,所以不推荐用,你一定要用也没有问题的。
      

  3.   

    请问一下代码 能输出结果
    public static void ThreadProc1()
            {
                for (int i = 0; i < 10; i++)
                {
                    Console.WriteLine("ThreadProc1: {0}", i);
                    Thread.Sleep(0);
                }
            }
            public static void ThreadProc2()
            {
                for (int i = 0; i < 10; i++)
                {
                    Console.WriteLine("ThreadProc2: {0}", i);
                    Thread.Sleep(0);
                }
            }
            static void Main(string[] args)
            {
                Console.WriteLine("在一个主进程中启动一个线程");
                Thread tr = new Thread(new ThreadStart(ThreadProc1));
                tr.Start();
                Thread t = new Thread(new ThreadStart(ThreadProc2));
                t.Start();
                t.Suspend();
                for (int i = 0; i < 4; i++)
                {
                    Console.WriteLine("主进程输出.........");
                    Thread.Sleep(0);
                }
                Console.WriteLine("主线程调用线程 join 方法直到ThreadProc1结束");
                tr.Join();
                Console.WriteLine("ThreadProc1结束");
                t.Resume();
                
                Console.ReadLine();
            }