社区
进程/线程/DLL
帖子详情
求救,关于多线程处理串口处理数据问题
fang_jb
2000-08-11 11:28:00
我用了一个ms的communication控件,用的是多线程处理方式,在线程中要用控件
的某些函数来读取数据,所以需要一个控件的指针。但是当我把控件的指针声明为
全局时,总是出现错误,而在使用控件句柄,把句柄传递给线程时,好像不能保证在
整个处理过程中句柄的有效性,于是总出现非法操作,程序极其不稳定。想请问各位
专家,做此类的程序用什么比较好,多线程处理时,该注意什么问题,如何解决句柄
的问题。
...全文
152
4
打赏
收藏
求救,关于多线程处理串口处理数据问题
我用了一个ms的communication控件,用的是多线程处理方式,在线程中要用控件 的某些函数来读取数据,所以需要一个控件的指针。但是当我把控件的指针声明为 全局时,总是出现错误,而在使用控件句柄,把句柄传递给线程时,好像不能保证在 整个处理过程中句柄的有效性,于是总出现非法操作,程序极其不稳定。想请问各位 专家,做此类的程序用什么比较好,多线程处理时,该注意什么问题,如何解决句柄 的问题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fang_jb
2000-08-13
打赏
举报
回复
各位专家,快帮帮忙呀!
zzh
2000-08-13
打赏
举报
回复
这么困难的问题,只有15分,难怪没什么人回答。
用多线程来读取串口数据时,如果线程是自己申请的,可以把控件的指针传递进去。你可以用传送地址方式来传递控件指针。如下所示:
UINT ReadCommProc(LPVOID pParam)
{
}
你声明一个控件的实例,然后再把该实例的地址传递进去就可以了。
如果对于读串口数据要求比较即时的话,当然使用多线程比较好,如果不是要求及时,可以用响应WM_TIMER消息来处理。每隔多少时间读一次串口数据。在多线程编和中,最主要要注意的问题是一定要记得把线程中的资源释放掉。同时,在程序退出前,一定要记得把线程关闭。如果有什么问题,可以用Bounder Checker来检查错误。这是一个好东东。
fang_jb
2000-08-13
打赏
举报
回复
那么请问,那个 pParam 就是所要传的地址吗?是不是在开始线程的时候把它传进去,
指针在整个程序运行中的地址不会变化吗?传进去之后可以直接使用它来调用控件的函数吗?
比如用 . 或是 -> 操作符?
HHHH
2000-08-13
打赏
举报
回复
各位专家,快帮帮忙呀!
编程资料 -C#
多线程
编程资料 -
多线程
C#
多线程
编程实例实战 作者: ...本文通过对常见的单个写入/多个阅读程序的分析来探索c# 的
多线程
编程。
问题
的提出 所谓单个写入程序/多个阅读程序的线程同步问
Android 基础知识
IntentService是Service的子类,默认开启了一个工作线程HandlerThread,使用这个工作线程逐一
处理
所有启动请求,在任务执行完毕后会自动停止服务,只要实现一个方法onHandleIntent,该方法会接受每个启动
求救
的...
WEB开发文档2 总结
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存中的图象显示到客户端Microsoft IE WebControls下载...显示
数据
下载中文名文件时保存文件名乱码
问题
关于用ASP.net绘图的
问题
...
C# 禁用进程内的按键 wpf
如何在制定进程内禁用指定按键? 如我想在CS.exe里禁用Ctrl + Space 或者...1.如果是直接退出,那么有可能是在主线程以外的线程中发生异常没有
处理
引起的。在所有的线程的第一个函数入口加上try catch,可以
进程/线程/DLL
15,472
社区成员
49,183
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章