Если вы не используете несколько потоков, выполнение не будет продолжено в , вызывающем код , пока метод не завершится в любом случае.
Если вы используете несколько потоков, это действительно зависит от того, как вы запускаете задачу. Например, вы можете использовать асинхронное выполнение делегата (foo.BeginInvoke(...)
) или параллельную библиотеку задач или просто создать новый поток. Каждый подход имеет свой собственный способ ожидания, пока задача / поток не завершится. Пожалуйста, дайте нам больше информации, и мы можем помочь вам больше, но варианты могут включают в себя:
- Вызов
EndInvoke
делегату, передача IAsyncResult
, возвращенного BeginInvoke
- Вызов
Task.Wait
(опционально с таймаутом)
- Вызов
Thread.Join
(опционально с таймаутом)