Mr.屎壳螂 发表于 2014-6-5 19:38:08

求教一下多线程的问题。

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

ravenhu13 发表于 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....);
....
}

ravenhu13 发表于 2014-6-5 20:33:10

即使我把代码展示给你,你还是有很多地方不明白

Mr.屎壳螂 发表于 2014-6-5 20:49:38

ravenhu13 发表于 2014-6-5 20:33 static/image/common/back.gif
即使我把代码展示给你,你还是有很多地方不明白
你看,能不能这么理解,
DWORD WINAPI ThreadProc1( LPVOID lpParam )
{
a+=1;
}
这相当于一个名字为ThreadProc1的函数,
然后
DWORD WINAPI ThreadProc2( LPVOID lpParam )
{
a+=2;
}
相当于名字为ThreadProc2的函数,
在main(){}里面的那个是以ThreadProc1和ThreadProc2分别创建了线程,然后在main(){}函数里面同时运行?
你看看那我理解的对不对

ravenhu13 发表于 2014-6-5 21:45:47

Mr.屎壳螂 发表于 2014-6-5 20:49 static/image/common/back.gif
你看,能不能这么理解,
DWORD WINAPI ThreadProc1( LPVOID lpParam )
{


框架是这样的。
页: [1]
查看完整版本: 求教一下多线程的问题。