Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 03.06.2016
Сообщений: 9
1
.NET 4.x

Дождаться запуска Task

03.06.2016, 22:21. Показов 561. Ответов 6
Метки нет (Все метки)

Необходимо дождаться запуска Task. Делаю так:

C#
1
2
3
//Wait for task to start (block)
            while (_mainTask.Status != TaskStatus.Running)
                Thread.Sleep(1);
Есть ли варианты получше ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2016, 22:21
Ответы с готовыми решениями:

Дождаться выполнения Task без Thread.Sleep?
using System; public class Test { public static void Main() { Console.WriteLine("1");...

Task.WhenAll для разных типов Task
Здравствуйте! Есть код вида SomeType a = await SomeTask; OtherType b = await OtherTask; //other...

Отмена одного Task в массиве Task
Как можно отменить одну задачу в массиве Task? Никак же нельзя передать CancellationTokenSource в...

Как разделить строку запуска на путь файла и параметры запуска?
Казалось бы очень странный вопрос, но тем не менее. Даже не знаю как правильно сформулировать, что...

6
25 / 25 / 14
Регистрация: 09.06.2014
Сообщений: 162
03.06.2016, 22:30 2
await не покатит?
0
2 / 2 / 1
Регистрация: 03.06.2016
Сообщений: 9
03.06.2016, 22:33  [ТС] 3
Как известно, асинхронный код заразен. Хочу его изолировать, так что нет, не катит.
0
Эксперт .NET
5310 / 4106 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
03.06.2016, 22:34 4
Цитата Сообщение от DeepBlue7 Посмотреть сообщение
Есть ли варианты получше ?
EventWaitHandle
0
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
03.06.2016, 23:07 5
DeepBlue7, если честно скорее заразны такие попытки бороться с инструментом а не использовать его. В чём мотивация использования таска и при этом вот такого финта?
2
2 / 2 / 1
Регистрация: 03.06.2016
Сообщений: 9
05.06.2016, 11:51  [ТС] 6
Пример: Есть класс, содержащий метод Start/Stop и запускающий некоторую задачу (Task). После вызова метода Start нужно дождатся пока задача запустится, иначе Start может вернуть управление до запуска задачи и код идущий после вызова Start, имеющий отношение к вышеупомянутой задачи может сделать совсем не то что предполагалось. Сейчас делаю при помощи AutoResetEvent (в начале тела метода задачи _isStarted.Set(), а в методе Start _isStarted.WaitOne();
0
2354 / 1792 / 531
Регистрация: 02.08.2011
Сообщений: 5,067
05.06.2016, 12:18 7
Ну так вызов метода Start, внутри которого запускается таска, разве не гарантирует вашу хотелку при выходе из метода?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2016, 12:18

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Дождаться Progress.Report
Всем привет, код пока не могу выложить, попробую на словах По клику на кнопку происходит...

Дождаться завершения функции в потоке
Здравствуйте! Есть некоторый метод, в котором начинается работа в потоке. Когда поток завершает...

Дождаться появления стороннего окна
я знаю название процесса и название окна и моя задача состоит в том, что бы не пускать программу...

Дождаться полного выполнения пула потоков
У меня пул потоков выполняет сортировку временных файлов: for (int i = 1; i <...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.