我做了一些研究,我了解到如果我运行一个程序,我的系统会自动在一个新线程中启动它。使用DLL看起来像什么?
DLL中的一些伪代码extern_func()
从DLL导出:
func1()
{
while(true) ...do something;
}
extern_func()
{
...do something
func1();
...do something else
}
现在如果在我的程序中调用extern_func()
,它是否会在新线程中运行该函数,还是必须明确地执行此操作?
答案 0 :(得分:5)
程序启动时,会创建一个线程。这通常称为“主”线程。
如果您没有显式创建其他线程,或者使用创建其他线程的函数,那么即使您调用来自DLL /库的函数,您的所有代码都将在该主线程中运行。
答案 1 :(得分:4)
不,在另一个dll中调用方法不会自动启动新线程。