xiaohan005 2013-09-17 01:00 采纳率: 0%
浏览 1369

如何解决数据发送线程占用cpu过高的问题?

我在用MSComm控件的串口通信,要将接收到的数据发送至服务器。在创建线程后,由于线程处在一个while(1)循环中,两个线程cpu占用80%左右了,四个直接就100%,界面不动了,想将其改为非阻塞式的发送,该怎么修改?我这个最后可能还要再增加串口接收并发送数据,可能还需要更多线程,控件方式可以实现吗?请高手赐教!
发送线程代码如下:
DWORD WINAPI ThreadRecv3_send(LPVOID lpParameter)
{
CDatachuli2Dlg* pt;
pt = (CDatachuli2Dlg*)lpParameter;
CString strsend,data1,data2,strtemp,str;
while(1)
{

if(COM3RXData_chuli.GetLength()>33)
{

……//数据处理部分
}
return TRUE;
}

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 21:12
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条