private void BeginHandle()
        {
            lock (_dh)
            {
                Monitor.Enter(_dh);
                while (_dh.CurrentIndex < _dh.Total)
                {
                    this.WriteLog("线程-" + Thread.CurrentThread.Name + "开始处理第" + _dh.CurrentIndex.ToString() + "项");
                    HandleStart(_dh.DataList[_dh.CurrentIndex], _dh.CurrentIndex);
                    this.WriteLog("线程-" + Thread.CurrentThread.Name + "完成第" + _dh.CurrentIndex.ToString() + "项");
                    _dh.CurrentIndex++;                }
                Monitor.Wait(_dh);            }
        }
private void btnBegin_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 5; i++)
            {
                Thread t = new Thread(new ThreadStart(delegate
                {
                    BeginHandle();
                }));
                t.Name = "T" + i.ToString();
                t.IsBackground = true;
                t.Start();
                
            }
        }如上代码   为什么进不了多线程  总是第一个线程在执行