C# 如何让执行完方法的线程继续工作 如题。其实我想比较实现类似:ThreadPool中的QueueWorkItem的功能。即:线程执行完之后,不会销毁,而我下次调用时,就改变该线程的指定的ThreadStart或是ParamThreadStart指定的委托来执行不同的方法。类似这样的功能。(上面有些名称打错了) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在线程里写个死循环,再在循环开头用AutoResetEvent阻塞,有工作需要做的时候给AutoResetEvent设置信号,线程就会跑一次,跑完继续等待下一个工作。 private bool Mark = true; private void button1_Click(object sender, EventArgs e) { while (Mark) { Thread.Sleep(1000); } }类似的 +1 , 做一个Notify方法让外部填数据,并设置AutoResetEvent处于非阻塞 你了解过系统线程池这个概念么?ThreadPool本来就是这样的,当你下一次调用QueueWorkItem的时候,这方法本来就是重复使用线程! 我不知道楼主是不是故意调侃,你提问到ThreadPool这个的时候,就好象你故意骑驴找驴想看看搞.net编程的别人的笑话似地。 因为我有些比较特殊的需求。所以我当时也没有去用ThreadPool。要对Thread的个数做个比较灵活的变化。对不同时候,不同条件(这里的条件就很复杂的,千变万化)都可能会对Thread的个数控制。 怎样实时保存datagridview中的数据? 一道C#编程题,谢谢,在线等... 网卡MAC地址获取,要求比较特殊哦!:-) 在C#里如何驱动PC的喇叭,让它发出声音? 关于使用C# 和sqlserver做实时监控软件的方案 ***关于日期验证控件的问题!在线等待!*** 如何把一个类类型“对象”保存到文件中,并能从文件中以类的结构将其读出来? 回到C#,再次散分,再问个问题 PropertyGrid怎样在自定义类的编辑上出现三个小点的按扭? 数组里怎么把一个指定元素放到第一个啊~~~ 手动为C#程序设置ico图标 关于CAN卡的数据读取的判断
private bool Mark = true; private void button1_Click(object sender, EventArgs e)
{
while (Mark)
{
Thread.Sleep(1000);
}
}类似的
+1 , 做一个Notify方法让外部填数据,并设置AutoResetEvent处于非阻塞
你了解过系统线程池这个概念么?ThreadPool本来就是这样的,当你下一次调用QueueWorkItem的时候,这方法本来就是重复使用线程!
因为我有些比较特殊的需求。所以我当时也没有去用ThreadPool。要对Thread的个数做个比较灵活的变化。对不同时候,不同条件(这里的条件就很复杂的,千变万化)都可能会对Thread的个数控制。