首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问个有关问题,多线程的

2012-04-08 
请教个问题,多线程的如果没有任何多线程代码,exe和他加载的dll,在exe里的函数和dll里的函数是执行在同一个

请教个问题,多线程的

如果没有任何多线程代码,exe和他加载的dll,在exe里的函数和dll里的函数是执行在同一个线程中的吗?

[解决办法]
是的,就是普通的函数调用。
[解决办法]
都在主进程中
[解决办法]
在任务管理器里,选择进程选项卡,在菜单中查看->选择列,选择线程数,就知道该进程有多少线程了。
[解决办法]
如果没有启动其它线程,肯定是跑在一个线程中的,如果你检测的不是那就是你的检测方法本身就有问题,或者哪里启动了线程你不知道

探讨
引用:
是的,就是普通的函数调用。


我检测的是两个线程啊,有点蹊跷吧~~

我这是样检测的。我们的dll有个主线程,然后有个线程池,可以泡另外两个线程。
exe有个主线程,还有一个线程。

检测得到exe的主线程和dll的主线程不一样啊。

谁能给个科学的解释的,以及令人信服的证明。

[解决办法]
#include <assert.h>

#include <TLHELP32.H>

int GetProcessNum(char* ProcessName)
{
 assert(ProcessName);
 
 HANDLE hand = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);;

 // ASSERT(hand!=NULL);
 
 PROCESSENTRY32 ppp; 
 if(!Process32First(hand,&ppp))
return 0; 
 
 int ProcessNum=0;
 do 
 {
if(strnicmp(ppp.szExeFile,ProcessName)==0)
{
ProcessNum++;

 } while(Process32Next(hand,&ppp));
 return ProcessNum;
 
}



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guandq2106/archive/2011/02/25/6207721.aspx

热点排行