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

ingame 2000-12-28 11:19:00
我现在编的程序在一个进程中需要启动很多个线程,而这些线程之间要有很多的共同访问的参数。我试过了用内存映射文件做参数的中转站,但是实现起来很麻烦。哪位大虾更有高招?
...全文
168 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
使用全局量,根据全局量的值来改变操作,注意使用临界区
回复
相关推荐
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2000-12-28 11:19
社区公告
暂无公告