怎么使线程不影响主程序运行? 开了一个线程在那边死循环接收数据,导致主程序都不能反应了,要自己释放线程控制权吗?线程不是按时间片跑的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Application.DoEvents(); 在循环里加 在每个循环里加上Thread.Sleep(0); 然后把你的线程的IsBackgroud属性设置为true Thread.Sleep(1)要稍微好一点。0有的时候会不起作用 Thread.Sleep(0)是强制切换线程,当有线程在等待的时候,肯定是会起作用的。如果你sleep 1,就有可能会影响到执行的性能,按照lz要死循环的情况来看,好像实时性要求非常高,如果1毫秒的休眠,执行1000次就会有1秒的时间浪费了。 死循环而不做sleep,是因为当前的线程一直占用了cpu导致的,虽然操作系统会按时间片段去分配资源切换线程,但我做过一些测试,像界面类的主线程,似乎优先级好像没有新new的线程高。会有抢不到时间片段的可能性。所以后台线程不主动把cpu片段切出来的话,界面主线程就看上去像死了一样。 gdi+问题 求一个C# 读写ini配置文件 的源码 怎么把DataGrid数据导出到word 问个问题, 大家不要笑我啊 请问一个有关SQL UPDATE命令的问题。 菜鸟问FOR问题... 为什么我用NotifyWindow 不能显示 无法在 DLL“LEDSender.dll”中找到名为“GetValue”的入口点。 有没有办法得到WINDOWS2000中的[组]和[用户]列表? 多表查询给DATASET填充的问题 一个简单的画图问题……新手求助 C#中Web.config或App.config文件是怎么读取的
Thread.Sleep(0)是强制切换线程,当有线程在等待的时候,肯定是会起作用的。
如果你sleep 1,就有可能会影响到执行的性能,按照lz要死循环的情况来看,好像实时性要求非常高,如果1毫秒的休眠,执行1000次就会有1秒的时间浪费了。