2013-03-05 1 views
0

У меня есть поток C#, который работает через 10 минут, и из этого потока предположим, что 10 задач C# 4.0 работают в течение определенного количества времени, выполняя некоторую работу.Как остановить все задачи C#, безопасно выполняющиеся внутри потока в C#

Теперь, когда я повторяю поток, могу ли я гарантировать, что все 10 внутренних задач будут безопасно остановлены, а затем запустите снова, как только этот поток снова начнет работать.

+2

Показать ваш код пожалуйста. Если вы используете класс 'Task', вы можете вызвать метод' Wait() 'для объектов задачи. –

ответ

0

Если вы хотите, чтобы подобрать номер Task s, вы можете хранить их где-нибудь, а затем позвонить по телефону Task.WaitAll().

Но трудно сказать, подходит ли это лучший подход, не зная больше о вашем коде.

+0

мои задачи не будут завершены в любое время, потому что они бесконечны –

+1

@AbhishekGupta Почему? 'Задача работает лучше, если вы используете их для выполнения нужной вам работы, а затем завершаете их (возвращаясь из делегата). – svick

+0

да спасибо @Svick –

Смежные вопросы