刚结贴返回的50分,又来请教各位大哥了,关于多线程并发的,谢谢!

bress111 2012-07-02 05:05:56
我有10个线程函数Function_1到Function_10,对应的线程是这样创建的:
HANDLE ThreadHandle_1;
ThreadHandle_1 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Function_1,this, 0, NULL);
HANDLE ThreadHandle_2;
ThreadHandle_2 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Function_2,this, 0, NULL);
...
HANDLE ThreadHandle_10;
ThreadHandle_10 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Function_10,this, 0, NULL);
那现在比如说我要并发执行
ThreadHandle_1、ThreadHandle_2、ThreadHandle_3和ThreadHandle_4,怎么实现呀?
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
w20120125 2012-07-03
  • 打赏
  • 举报
回复
这50分给我吧,你在每个线程的开头加上

WaitForSingleObject

然后运行这10个线程,此时线程都是挂起的,

最后,再用函数 SetEvent 让10个线程同时开始。

函数的使用 参考 msdn ,都很简单,小儿科
  • 打赏
  • 举报
回复
本身就是并发 如果你要同步数据的话需要加锁
lang14 2012-07-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
正是问这一步怎么实现呀

引用 1 楼 的回复:
把线程函数同步下不可以吗?
[/Quote]
有事件,互斥量,你网上搜搜,很多资料的
wltg2001 2012-07-02
  • 打赏
  • 举报
回复
多线程本身就是并发的,你用CreateThread创建线程成功之后,它就已经是并发执行的了。
anmychen2001 2012-07-02
  • 打赏
  • 举报
回复
你Create他的时候已经并了,如果不做处理的话,创建完他就结束了。
bress111 2012-07-02
  • 打赏
  • 举报
回复
正是问这一步怎么实现呀[Quote=引用 1 楼 的回复:]
把线程函数同步下不可以吗?
[/Quote]
lang14 2012-07-02
  • 打赏
  • 举报
回复
把线程函数同步下不可以吗?

15,471

社区成员

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

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