日期:2014-05-17  浏览次数:20830 次

关于线程的操作,大师请进
我在某个代码块写了ThreadName.Suspend();
这样这个子线程被自己暂停了
然后我唤醒的时候,报错:线程不是用户挂起的;无法使其继续。

我尝试用了委托,也不奏效
委托中我是用主线程来挂起这个子线程
唤醒时也是用主线程来唤醒这个子线程

主要问题代码如下:                    
ChangeState ch = new ChangeState(ChangeThreadState);
this.Invoke(ch, true);

        void ChangeThreadState(bool value) 
        {
            if (value)
                th_Main.Resume();
            else
                th_Main.Suspend();
        }
多线程 ?挂起??唤醒

------解决方案--------------------
Thread.Suspend会有很多问题,微软从DotNet2就开始放弃了。
建议不要用Suspend。
------解决方案--------------------
Suspend 死锁问题,无解。