一般和下位机通信,都是小块数据,单线程不可能造成假死! 要使用多线程则创建一个通信线程,通信线程在死循环,主线程需要通信时,将数据投递给通信线程,通信线程检查是否是否有数据要处理,有,则处理通信,无,则sleep一段时间
把this指针当成线程函数参数传过去啊. 比如有类CMyDlg _beginthreadex(NULL,0,ThreadCall,this,0,NULL); unsigned int WINAP ThreadCall(void *param) { CMyDlg *pDlg = (CMyDlg*)param; pDlg->OnClickBtn();//调用你的按钮的函数. (注意: 线程中不能调用UpdateData函数, 否则必崩溃) retrun 0; } 线程中尽量不要操作UI, 否则容易导致崩溃. 使用消息的方式更新界面是可以的.
15,473
社区成员
49,171
社区内容
加载中
试试用AI创作助手写篇文章吧