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

And*_*Gis 1 dll

我做了一些研究,我了解到如果我运行一个程序,我的系统会自动在一个新线程中启动它.DLL的外观如何?

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

func1()
{
  while(true) ...do something;
}
extern_func()
{
  ...do something
  func1();
  ...do something else
}
Run Code Online (Sandbox Code Playgroud)

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

Mac*_*ade 5

程序启动时,会创建一个线程.这通常称为"主"线程.

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