Вопрос
Это, наверное, что-то простое, что я пропустил.
Скажем, я делаю (в Loveley VB):
Dim t1 As New Task(Sub() Debug.WriteLine("t1"))
Dim t2 As Task = t1.ContinueWith(Sub() Debug.WriteLine("t2"))
Dim t3 As Task = t1.ContinueWith(Sub() Debug.WriteLine("t3"))
t1.Start()
Обратите внимание: t1.ContinueWith используется дважды. Каков предпочтительный порядок выполнения этих задач? Для меня это случайное или неправильное.
Почему?
Причина, по которой я хочу это сделать...
- Создать задачу захвата и возврата данных
- После выполнения задачи, которая "сортирует" пользовательский интерфейс на
TaskScheduler.FromCurrentSynchronizationContext()
(поток пользовательского интерфейса) - Следуйте первоначальной задаче захвата данных, преобразуя данные в длинный отчет (требуется возраст)
- Вернитесь в поток пользовательского интерфейса, присвойте этому отчету элементу управления предварительным просмотром
- Очистка (избавиться от моей анимации прогресса и т.д.)
Это усложняется тем фактом, что шаг 4 является необязательным.
Посреди всего этого мои задачи гибки назад, чтобы установить свойства элемента, чтобы пользовательский интерфейс и задачи могли играть хорошо. Возможно, я должен полностью удалить результат задачи и просто придерживаться Synclocking моих переменных-членов. Все они назначаются только один раз после.
Спасибо, Том