我创立了一个多线程程序,优先级设置成normal的。但是运行程序就死掉。我是用它来等待下位机返回命令的。
必须让线程在等待是休眠,不然会占用大量的CPU时间。
所以,调用接收数据的函数如果不是阻塞式的话,尽量让线程Sleep一下
在监视下位机的线程里设置的是一段无限循环监视代码。
-------------------------------------------------
如果线程处于空闲状态,需要在循环中调用一下 Sleep(1); 否则线程占用的CPU很高。
另外,线程中操作界面上的控件的话,需要使用Synchronize()来实现,否则程序可能会死掉。
最好在死循环里面用WaitForSingleObject或者WaitForMultipleObjects同步你的某些关键事情,出现死机一定是进入了死锁即发生共享资源冲突,最好用临界区来保护相关的代码