社区
进程/线程/DLL
帖子详情
Doc/View和多线程的问题
verybigbug
2002-11-01 12:31:05
使用Doc/View开发的MDI程序,Doc中接受数据后,通过UpdateAllView()更新
View的显示。如果Doc中接受的数据是主线程的数据进行更新时没有问题,但当
我用另外的线程接受数据,修改doc的内容后,同时在该线程中调用UpdateAllView()
时就会出现错误(程序结束了)。原因是doc中的view不是该线程的。
不知道各位是如何解决这个问题的。
...全文
71
7
打赏
收藏
Doc/View和多线程的问题
使用Doc/View开发的MDI程序,Doc中接受数据后,通过UpdateAllView()更新 View的显示。如果Doc中接受的数据是主线程的数据进行更新时没有问题,但当 我用另外的线程接受数据,修改doc的内容后,同时在该线程中调用UpdateAllView() 时就会出现错误(程序结束了)。原因是doc中的view不是该线程的。 不知道各位是如何解决这个问题的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icelight
2002-11-12
打赏
举报
回复
这样吧,专门用一个线程代替"Doc自动通知View"这个动作,好不好?
这样你的负责采集数据的几个线程就不需要理会界面的东东了,实现了代码块之间的松藕合。
verybigbug
2002-11-03
打赏
举报
回复
MFC的线程机制真的不好,在C++Builder或SDK中根本就没有这些问题。
本来用Doc/View就是希望Doc自动通知View了,现在又用SendMessage!!
真是不好。从设计角度讲,考虑脱离平台的设计,就不会出现需要
SendMessage的方案。因为数据的采集有可能是其它线程,也有可能是
主线程,设计上是不用限制的。有数据就通知View显示而已,而不用
考虑数据的来源。。。本来MVC(Mode-View-Control)模式就不用考虑
SendMessage的,在MFC上使用Doc/View实际上就是希望完成MVC的模式
的,没想到MFC这个垃圾这么差。。。。痛苦中。。。。
liron71
2002-11-02
打赏
举报
回复
一个线程内不能直接操作另一个线程内的MFC对象,这是线程机制决定的,线程只能通过发消息的方式通知另一个线程内的MFC对象,Window的消息机制已有同步机制在里面了
foxustc
2002-11-02
打赏
举报
回复
MFC的doc/view结构确实不怎么样。
yonghengdizhen
2002-11-01
打赏
举报
回复
用SendMessage你还需要考虑什么同步..
同步的问题在这个函数中已经处理了..
SendMessage是解决线程间或进程间通信的一种最简单的方式了..
verybigbug
2002-11-01
打赏
举报
回复
那就要考虑同步问题等。本来目标就是让其他线程采取数据和自动显示。
如果通知主线程的话,我就不希望采用Doc/View了。
我觉得很奇怪的是MFC居然如此差。
没有别的办法吗(简单一点的)。
否则就自己控制Doc/View了。
Semigod
2002-11-01
打赏
举报
回复
那就从另外的线程向主线程发送个自定义消息,让主线程来更新啦
尹成Python27天入门到项目实战
多线程
实战
多线程
核心目标并发主线程与小弟线程
多线程
解决加速
多线程
的加速线程冲突基于类实现
多线程
基于类实现
多线程
的顺序与乱序互斥锁解决线程冲突死锁-使用锁要注意Rlock解决一个线程反复加锁单线程死锁创建...
工作线程中弹出带
Doc
/
View
的窗口
多线程
,弹出窗口,
Doc
/
View
,自定义消息 一、
问题
提出 不是弹出对话框,是那种带框架(FrameWnd)的支持
Doc
-
View
并且有自己独立菜单、工具条状态条的看起来像一个独立进程的窗口。 ...
Qt
View
中用
多线程
在
View
层,我们不可避免的需要一些
多线程
的控制,但是,却又没有达到抽象出一个线程给程序全局使用的程度,这个线程仅仅只需要负责本
view
内部的操作,这个线程的生命周期一般短于
view
的生命周期。所以,我们需要一个...
C++
多线程
编程(二)MFC中
多线程
开发
<br />
多线程
编程之二——MFC中的
多线程
开发<br /><br />作者:韩耀旭<br />原文地址:http://www.vckbase.com/
doc
ument/
view
doc
/?id=1706<br /><br />五、MFC对
多线程
编程的支持<br /> MFC中有两类线程,分别称之...
C++
多线程
编程(三)线程间通信
<br />
多线程
编程之三——线程间通讯<br /><br />作者:韩耀旭<br />原文地址:http://www.vckbase.com/
doc
ument/
view
doc
/?id=1707<br /> <br />七、线程间通讯<br /> 一般而言,应用程序中的一个次要线程总是为...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章