private void button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 10; i++)
            {
                Thread startServer = new Thread(new ParameterizedThreadStart(start_more_server));                startServer.IsBackground = true;
                startServer.Name = "线程"+i;                startServer.Start(startServer.Name);
            }
        }        public void start_more_server(object o)
        {
            muxConsole.WaitOne();
            Interlocked.Increment(ref flag);              mydelegate mydelegate = new mydelegate(outtext);            //StringBuilder sb = new StringBuilder();
            for (int pk = 0; pk < 10; pk++)
            {
                //for (int pk1 = 0; pk1 < 10000; pk1++)
                for (int pk2 = 0; pk2 < 10; pk2++)
                    for (int pk3 = 0; pk3 < 1000; pk3++)
                        for (int pk4 = 0; pk4 < 10000; pk4++)
                        {
                            //textBox1.BeginInvoke(mydelegate, new object[] { pk4.ToString() });
                            //MessageBox.Show(pk4.ToString());
                        }
                sb.Append(pk + "=====>" + o +"\r\n"); textBox1.BeginInvoke(mydelegate, new object[] { sb.ToString() });
            }            Interlocked.Decrement(ref flag);
            muxConsole.ReleaseMutex();        }
如果用waitone()的时候,等待线程的执行顺序是随机的,那用什么方法能让线程按照开始等待的顺序依次执行呢?