鱼C论坛

 找回密码
 立即注册
查看: 2247|回复: 4

求教一下多线程的问题。

[复制链接]
发表于 2014-6-5 19:38:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
比如说,我要定义两个函数 ABC()和DEF()
我想让他们两个同事运行,并且共享全局变量~这个该怎么弄?
我百度了一下 提示是用API 实现的,但是不怎么明白函数的定义怎么个定义法,还有调用的时候怎么弄,有一点不怎么清楚,
我看那个上面有一个这样的东西
DWORD WINAPI ThreadProc1( LPVOID lpParam )
{
......(这里是一些代码。。)
}
我想知道这里的这个括号里面的这个 LPVOID lpParam  是不是都得这么写?
还有 后面我看到还有这个
CreateThread()函数,我也百度了,里面的参数大概了解了,
我想知道,当我需要让我前面的函数ABC() 跟DEF()同时运行,在这两个函数的调用还有写的时候要怎么写.
先谢过,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-5 20:32:15 | 显示全部楼层
int a;
DWORD WINAPI ThreadProc1( LPVOID lpParam ) 
{
a+=1;
}

DWORD WINAPI ThreadProc2( LPVOID lpParam ) 
{
a+=2;
}

main()
{
   CreateThread(...threadproc1....);
   CreateThread(...threadproc2....);
 ....
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-5 20:33:10 | 显示全部楼层
即使我把代码展示给你,你还是有很多地方不明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-5 20:49:38 | 显示全部楼层

你看,能不能这么理解,
DWORD WINAPI ThreadProc1( LPVOID lpParam )
{
a+=1;
}
这相当于一个名字为ThreadProc1的函数,
然后
DWORD WINAPI ThreadProc2( LPVOID lpParam )
{
a+=2;
}
相当于名字为ThreadProc2的函数,
在main(){}里面的那个是以ThreadProc1和ThreadProc2分别创建了线程,然后在main(){}函数里面同时运行?
你看看那我理解的对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-5 21:45:47 | 显示全部楼层
Mr.屎壳螂 发表于 2014-6-5 20:49
你看,能不能这么理解,
DWORD WINAPI ThreadProc1( LPVOID lpParam )
{

框架是这样的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 11:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表