C#用同一个Timer同时实时的监测做两件事情,怎么做?? 假如要对两台服务器进行同时实时监控,一个timer1负责监控硬盘信息,timer2负责监控网络信息,而两台服务器是否要监测硬盘、网络信息是可以任意配置的,如果一个服务器配置监控了硬盘信息和网络信息,另一台服务器只监控网络信息不监控硬盘信息,这时timer要同时实时的做两件事启动Timer1的Tick事件监控服务器1,而同时又要服务器2又要求Tick事件不能启动,怎么做到??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用System.Threading.Timer类,创建两个线程来运行各自的timer,分别给两个timer传递一个参数来控制它是否检控网络信息和硬盘信息, 如果用 System.Timers.Timer 的话,这个 timer 类本身算不算已经是开了另一个线程来实现监控了,因此不需要再创建一个类来启动这个 timer?另外那么多线程都需要反馈信息的话,不 Control.CheckForIllegalCrossThreadCalls = false; 的话要保证不冲突还挺麻烦吧? 不要随便设置Control.CheckForIllegalCrossThreadCalls = false这个 那么在线程很多的情况下该如何防止冲突呢?有时候虽然编译通过了但运行的时候就会出错冲突Cross-thread operation not valid: Control 't1' accessed from a thread other than the thread it was created on.比如我现在在用多个 System.Timers.Timer 触发不同的定时器对UI线程下的一些变量进行修改,变量的修改是个很快速的过程,没有太多等待,按说应该不会冲突,可是还是报错 为什么要2个Timer,自己给自己上难度啊 datetimepicker在select语句中的格式怎么写? 请教高手们一个遍历的算法,大家帮帮忙 父子窗口间能传多个参数吗 如何在水晶报表中插入一个gif图片???? 如何检测 操作系统的 语言版本?比如英文,简体中文还是繁体中文? vs2005中使用datagridview无法更新数据库?? Visual Studio.NET2003有三G多,我要都下吗? c#中使用存储过程的问题!! Ftp文件上传,断网后重连有延迟 请问PixelFormat format需要填什么格式的内容? C#读取xml到sql数据库 datagridView和comboBox刷新数据源问题
那么在线程很多的情况下该如何防止冲突呢?有时候虽然编译通过了但运行的时候就会出错冲突
Cross-thread operation not valid: Control 't1' accessed from a thread other than the thread it was created on.比如我现在在用多个 System.Timers.Timer 触发不同的定时器对UI线程下的一些变量进行修改,变量的修改是个很快速的过程,没有太多等待,按说应该不会冲突,可是还是报错