STL MAP容器,如何当作线程参数传递给线程?

qwert1643ou65923 2011-09-15 08:57:27
map<string,HANDLE> mapComMgr;


我需要把mapComMgr 容器传递给 pthread_create的线程参数,我应该怎么传递,在线程主函数中我又如何转换呢?我需要的是指针,因为这个容器会动态改变,我要知道他改变的所有值!

知道的说下,谢谢!
...全文
220 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
mstlq 2011-09-15
  • 打赏
  • 举报
回复
(map<string,HANDLE> *)p
这样就转回来了
qwert1643ou65923 2011-09-15
  • 打赏
  • 举报
回复
传递进线程过后呢 ?

怎么转?
luciferisnotsatan 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pengzhixi 的回复:]

转为void*.然后在线程函数里面转回来即可。
[/Quote]
正解
Qlaiaqu 2011-09-15
  • 打赏
  • 举报
回复
线程的话,还是用共享变量吧,
mengmingtao 2011-09-15
  • 打赏
  • 举报
回复
干嘛要当做参数传送呢。本身它就在进程空间的话,线程是可以访问到它的。直接拿来用就是了。
PG 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 babilife 的回复:]

可以结贴了
[/Quote]
+
qingcairousi 2011-09-15
  • 打赏
  • 举报
回复
自己封装一个线程对象吧,没多复杂的。
qq120848369 2011-09-15
  • 打赏
  • 举报
回复
pthread_create(......,&mapComMgr);
chenjiawei007 2011-09-15
  • 打赏
  • 举报
回复
可以写个MAP管理类,MAP当做类成员,再将类指针传入到线程即可。
至善者善之敌 2011-09-15
  • 打赏
  • 举报
回复
可以结贴了
forcomponent 2011-09-15
  • 打赏
  • 举报
回复
LS正解....强转为void*

线程里处理的时候再强转mapComMgr*既可
pengzhixi 2011-09-15
  • 打赏
  • 举报
回复
转为void*.然后在线程函数里面转回来即可。
taodm 2011-09-15
  • 打赏
  • 举报
回复
当然是转为void *啊。

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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