DLL函数是否自动在新线程中运行?

时间:2011-09-23 22:50:14

标签: dll

我做了一些研究,我了解到如果我运行一个程序,我的系统会自动在一个新线程中启动它。使用DLL看起来像什么?

DLL中的一些伪代码extern_func()从DLL导出:

func1()
{
  while(true) ...do something;
}
extern_func()
{
  ...do something
  func1();
  ...do something else
}

现在如果在我的程序中调用extern_func(),它是否会在新线程中运行该函数,还是必须明确地执行此操作?

2 个答案:

答案 0 :(得分:5)

程序启动时,会创建一个线程。这通常称为“主”线程。

如果您没有显式创建其他线程,或者使用创建其他线程的函数,那么即使您调用来自DLL /库的函数,您的所有代码都将在该主线程中运行。

答案 1 :(得分:4)

不,在另一个dll中调用方法不会自动启动新线程。