线程之间通信的问题?急急急!!!

ingame 2000-12-28 11:19:00
我现在编的程序在一个进程中需要启动很多个线程,而这些线程之间要有很多的共同访问的参数。我试过了用内存映射文件做参数的中转站,但是实现起来很麻烦。哪位大虾更有高招?
...全文
192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyanglike 2000-12-28
  • 打赏
  • 举报
回复
定义全局变量,有事件在不同的线程之间通讯。
可以试试。
Sam_Yang 2000-12-28
  • 打赏
  • 举报
回复
同步机制
ingame 2000-12-28
  • 打赏
  • 举报
回复
大虾verybigbug:

这个问题焦点不是参数传递,而是这些变量是作为不断被各个线程监测的很复杂的结构体存在的,因此在启动线程时参数不是很方便。再请问您一般是在线程通信、进程通信、类之间通信常使用那些手段啊?
acute 2000-12-28
  • 打赏
  • 举报
回复
还是临界量比较好。
事件控制也行啊。
verybigbug 2000-12-28
  • 打赏
  • 举报
回复
在一个进程中启动多个线程的话,用不了内存映射,那是用来不同的进程间通讯的。
定义一个结构体,通过CreateThread(param)传送你的结构,就可以应用了。
----某经常用SDK,对MFC不太了解。

注意,在多线程中使用临界量进行控制。
vcbear 2000-12-28
  • 打赏
  • 举报
回复
怕麻烦? 用全局变量。反正是同一个进程。
Rabit9556 2000-12-28
  • 打赏
  • 举报
回复
发消息!
panda_w 2000-12-28
  • 打赏
  • 举报
回复
使用全局变量是最简单的方法了,不过,你可以试试同步机制的,设置两个CEvent变量,
m_start和m_kill; 你用WaitfoSingleObject函数来控制。具体的请参考《Vc技术内幕》的第四版的多线程编程一文。
luxes 2000-12-28
  • 打赏
  • 举报
回复
使用全局量,根据全局量的值来改变操作,注意使用临界区

15,471

社区成员

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

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