2011-09-23 61 views
1

我做了一些研究,並且我瞭解到,如果我運行一個程序,系統會自動在一個新線程中啓動它。它看起來像什麼樣的DLL?DLL函數是否會自動在新線程中運行?

從DLL一些僞代碼,extern_func()從DLL導出:

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

現在如果呼叫extern_func()在我的計劃,將在一個新的線程中運行的功能或做我必須這樣做明確?

+2

沒有任何操作系統可以這樣工作。特別是Windows。 –

+0

當涉及COM +時,事情會變得更有趣......但這是一個完全不同的故事;-) – 2011-09-23 23:08:22

回答

4

不,調用另一個DLL中的方法不會自動啓動一個新的線程。

5

程序啓動時,會創建一個線程。這通常被稱爲「主」線程。

如果您沒有明確地創建其他線程或使用創建其他線程的函數,那麼即使您調用來自DLL /庫的函數,您的所有代碼也將在該主線程中運行。

相關問題