如题。其实我想比较实现类似:ThreadPool中的QueueWorkItem的功能。即:线程执行完之后,不会销毁,而我下次调用时,就改变该线程的指定的ThreadStart或是ParamThreadStart指定的委托来执行不同的方法。类似这样的功能。(上面有些名称打错了)

解决方案 »

  1.   

    在线程里写个死循环,再在循环开头用AutoResetEvent阻塞,有工作需要做的时候给AutoResetEvent设置信号,线程就会跑一次,跑完继续等待下一个工作。
      

  2.   


            private bool Mark = true;        private void button1_Click(object sender, EventArgs e)
            {
                while (Mark)
                {
                    Thread.Sleep(1000);
                }
            }类似的
      

  3.   


    +1 , 做一个Notify方法让外部填数据,并设置AutoResetEvent处于非阻塞
      

  4.   


    你了解过系统线程池这个概念么?ThreadPool本来就是这样的,当你下一次调用QueueWorkItem的时候,这方法本来就是重复使用线程!
      

  5.   

    我不知道楼主是不是故意调侃,你提问到ThreadPool这个的时候,就好象你故意骑驴找驴想看看搞.net编程的别人的笑话似地。
      

  6.   


    因为我有些比较特殊的需求。所以我当时也没有去用ThreadPool。要对Thread的个数做个比较灵活的变化。对不同时候,不同条件(这里的条件就很复杂的,千变万化)都可能会对Thread的个数控制。