//?启动实时温度采集
RealtimeThread = new Thread(new ThreadStart(Realtime_TmHm));
RealtimeThread.Start(); Thread.Sleep(1000); //空调控制 ?从数据库读取空调开关状态,进行空调开关控制--
RealtimeAre = new Thread(new ThreadStart(Realtime_AutoOpenAre));
RealtimeAre.Start();
Realtime_TmHm中不断从数据库获取最新的信息,然后相应操作后Thread.sleep(1000)
Realtime_AutoOpenAre同上,做出相应操作后sleep1秒钟
如何让温度采集线程和空调控制线程轮流启动.也就是温度采集的时候,空调控制不启动,空调控制启动的时候,
温度采集不启动
RealtimeThread = new Thread(new ThreadStart(Realtime_TmHm));
RealtimeThread.Start(); Thread.Sleep(1000); //空调控制 ?从数据库读取空调开关状态,进行空调开关控制--
RealtimeAre = new Thread(new ThreadStart(Realtime_AutoOpenAre));
RealtimeAre.Start();
Realtime_TmHm中不断从数据库获取最新的信息,然后相应操作后Thread.sleep(1000)
Realtime_AutoOpenAre同上,做出相应操作后sleep1秒钟
如何让温度采集线程和空调控制线程轮流启动.也就是温度采集的时候,空调控制不启动,空调控制启动的时候,
温度采集不启动
带有消息机制的线程 - CustomMessageQueue (vb.net/c# 两种版本的源码)
// 启动实时温度采集
RealtimeThread = new Thread(new ThreadStart(Realtime_TmHm));
RealtimeThread.Start();// 空调控制从数据库读取空调开关状态,进行空调开关控制--
RealtimeAre = new Thread(new ThreadStart(Realtime_AutoOpenAre));
RealtimeAre.Start();在Realtime_TmHm方法里面开始就添加
lock(_mylock)
{
Realtime_TmHm原始方法代码
}
Realtime_AutoOpenAre也如上操作添加就可以了
lock(_mylock)
{
Realtime_AutoOpenAre原始方法代码
}
System.Threading.Monitor.Pulse(msgQueue);
System.Threading.Monitor.Exit(msgQueue);跟lock是一种东西吧,增加了消息机制,借鉴一下