CMyApp里添加CList成员,在另外一个线程中((CMyApp*)AfxGetApp())->m_variable添加元素出错

看着捉急 2012-11-12 04:24:44
CMyApp里添加CList成员,在另外一个线程中((CMyApp*)AfxGetApp())->addtail()出错
...全文
143 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyx100 2012-11-15
  • 打赏
  • 举报
回复
回复于: 2012-11-12 18:55:33 (CMyApp*)AfxGetApp()估计访问CList对象的时候是否获取到 回复于: 2012-11-12 18:55:33 (CMyApp*)AfxGetApp()估计访问CList对象的时候是否获取到
zhousitiaoda 2012-11-14
  • 打赏
  • 举报
回复
我觉得CList跨线程应该是可以的,书上说的MFC对象最好不跨线程指的是CWnd,CDC这种有句柄的MFC对象,就CList而言跨线程是可以的。读写的时候同步下就可以。
看着捉急 2012-11-14
  • 打赏
  • 举报
回复
针对这个问题,CList元素里要放的数据比较多,消息传得了吗? 发送消息这种方法具体该怎么做呢?
rs0002 2012-11-14
  • 打赏
  • 举报
回复
线程内尽量不要直接操作界面,可以发送消息 我主要是想多个线程共享这个CList对象,一个线程里面获取数据并添加的CList里面,然后在主线程里面显示,既然有线程安全问题,那怎么作比较好 ---数据放链表里,多个线程操作链表,并将结果显示到界面上
看着捉急 2012-11-13
  • 打赏
  • 举报
回复
我主要是想多个线程共享这个CList对象,一个线程里面获取数据并添加的CList里面,然后在主线程里面显示,既然有线程安全问题,那怎么作比较好
steed_jet 2012-11-13
  • 打赏
  • 举报
回复
同意楼上的,有些类不是线程安全的。 如果非要这么做,可以考虑把数据共享或者用消息的方式发送过去,让CMyApp自己处理来调用m_variable.addTail(element)。
coyer 2012-11-12
  • 打赏
  • 举报
回复
有线程安全问题,最好不要多线程访问界面。很容易搞死掉的。
看着捉急 2012-11-12
  • 打赏
  • 举报
回复
(((CMyApp*)AfxGetApp())->m_variable).addTail(element)这个表达式
看着捉急 2012-11-12
  • 打赏
  • 举报
回复
m_variable是public,应该可以获取到
oyljerry 2012-11-12
  • 打赏
  • 举报
回复
(CMyApp*)AfxGetApp()估计访问CList对象的时候是否获取到
看着捉急 2012-11-12
  • 打赏
  • 举报
回复
一楼那个地方写错了,手一抖,就发了,没有编译链接错误
看着捉急 2012-11-12
  • 打赏
  • 举报
回复
添加元素这个地方出现运行时错误,怎么回事,请指教!!!

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧