Функции DLL запускаются в новом потоке автоматически? - PullRequest
1 голос
/ 24 сентября 2011

Я провел некоторое исследование и узнал, что если я запустил программу, моя система автоматически запустит ее в новом потоке. Как это выглядит с DLL?

Некоторый псевдокод из DLL, extern_func() экспортируется из DLL:

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

Теперь, если в моей программе вызвать extern_func(), будет ли она запускать функцию в новом потоке, или я должен сделать это явно?

Ответы [ 2 ]

5 голосов
/ 24 сентября 2011

Когда программа запускается, создается поток.Обычно это называется «основным» потоком.

Если вы явно не создаете другие потоки или не используете функции, которые создают другие потоки, весь ваш код будет выполняться в этом основном потоке, даже если вы вызываете функции, которыеприходят из DLL / библиотеки.

4 голосов
/ 24 сентября 2011

Нет, вызов метода в другой DLL не будет автоматически запускать новый поток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...