多个线程同用一个线程函数行得通吗?

Soyokaze 2008-11-16 08:33:51
最近做一个桌面小程序,需要用到数个带 WS_EX_LAYERED 风格的窗口来实现。考虑到窗口较多,决定每个窗口的 WM_CREATE 消息中新建一个窗口线程,每个窗口的回调函数由主线程负责。在各窗口线程中实现诸如窗口的绘制、移动等操作。因为各个窗口实现的功能是重复的,使用同一段代码就可以实现,想问问在创建线程时把线程函数参数都指向同一个函数可不可以?不可以的话,怎么来实现我所说的这种方式?
...全文
169 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
feilinhe 2008-11-18
  • 打赏
  • 举报
回复
可以的,我就在用,只是要处理好全局变量和静态变量就OK了
Soyokaze 2008-11-18
  • 打赏
  • 举报
回复
搞定,可以的。局部的函数作用域变量也没问题,虽然调用的同一个函数,每个线程都可以区分开。结帖,给分。
用户 昵称 2008-11-18
  • 打赏
  • 举报
回复
应该没问题,像下载,或者同时处理多个外设,本来就是同样的代码创建多个线程,同样代码多个线程的协调是问题,不能有冲突。
ct_qy 2008-11-17
  • 打赏
  • 举报
回复
可以,只是访问static变量或全局变量时要注意一下。其它没什么问题。
ilovedrv 2008-11-16
  • 打赏
  • 举报
回复
只要是可重入的就没有什么问题,一般情况下,都是通过传递进来的void *参数操作线程对应的数据对象
yaozhu88 2008-11-16
  • 打赏
  • 举报
回复
可以
wltg2001 2008-11-16
  • 打赏
  • 举报
回复
是可以的,应该不用处理重入的问题,不过要注意少用static型的变量。
Sandrer 2008-11-16
  • 打赏
  • 举报
回复
应该可以!

所有不经处理的窗口消息处理函数还不是 DefWindowProc 这个函数嘛~

既然它可以为什么你不可以呢~~~
matrixnull 2008-11-16
  • 打赏
  • 举报
回复
至少处理重入问题吧

15,472

社区成员

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

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