开始遍历的时候我是开启了一个新线程,在程序里判断的时候Thread.CurrentThread还是当前线程

解决方案 »

  1.   

    在程序里判断的时候Thread.CurrentThread还是当前线程??
    在那个位置进行的判断?
      

  2.   

    新建线程的时候保存辅助线程到一个变量里面去,这样就可以直接操作它了Thread th=new Thread();th.Start();
    th.Stop();
      

  3.   

    switch (((Button)sender).Text)
                {
                    case "开始检查":
                        cha = new Thread(new ThreadStart(threadchange));
                        cha.Start();
                        this.btnCheck.Text = "暂停";
                        break;
                    case "暂停":
                        if (cha.ThreadState == ThreadState.Running)
                        {
                            cha.Suspend();
                            this.btnCheck.Text = "继续";
                        }
                        break;
                    case "继续":
                        if (cha.ThreadState == ThreadState.Suspended || cha.ThreadState == ThreadState.SuspendRequested)
                        {
                            cha.Resume();
                            this.btnCheck.Text = "暂停";
                        }
                        break;
                }
    这是我的按钮事件,当第二次点击按钮也就是想暂停的时候,根本就进不去那个条件原因是这个时候那个线程不知为什么是停止的。把那个cha设置为Thread.CurrentThread就可以进那个暂停的条件,但是整个主程序都挂起了,就像死了一样