Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли создать Task и вручную контролировать его свойства типа Status и пр ? / 6 сообщений из 6, страница 1 из 1
30.10.2018, 16:14
    #39725049
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
Можно ли ?

Я делаю класс, основная работа которого будет происходить с помощью таймера. А точнее через Task.Delay (ms, token).
Метод толжен вернуть вернуть некий Task, по которому вызывающий класс будет контролировать статус выполняемой задачи. Подпишется через ContinueWith, чтобы отслеживать когда метод завершит работу по ошибке или по команде остановки (через token).

Я конечно могу создать ненужную задачу через

Код: c#
1.
var task = Task.Run ((token)=> { while (!token.IsCancellationRequested) {..... Task.Delay (..., token)} })



Но так ведь будет создана ненужная задача, которая лишь зря займет процессор. Мне нужно как-то создать Task, свойствами которого я смогу управлять в ручном режиме. Чтобы вместо Task.Run я мог вернуть Task, и уже выставлять его свойства в ручном режиме.

Как это можно сделать ? Что-то такое я видел где-то в MSDN, но точно не помню детали.
...
Рейтинг: 0 / 0
30.10.2018, 16:17
    #39725053
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
TaskCompletionSource
то, что вам надо, гуглите
...
Рейтинг: 0 / 0
30.10.2018, 16:23
    #39725058
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
Кажется это именно оно. Припоминаю, что как раз с его помощью и оборачивали таймеры в Task. Это мне и нужно.
...
Рейтинг: 0 / 0
30.10.2018, 16:29
    #39725061
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
WaspNewCoreМетод толжен вернуть вернуть некий Task, по которому вызывающий класс будет контролировать статус выполняемой задачи. Подпишется через ContinueWith, чтобы отслеживать когда метод завершит работу по ошибке или по команде остановки (через token).
Хммм. Почему не взять await и CancellationToken?
...
Рейтинг: 0 / 0
30.10.2018, 16:32
    #39725064
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
WaspNewCoreЯ конечно могу создать ненужную задачу через
WaspNewCoreНо так ведь будет создана ненужная задача,дык не создавай!))))))
Кода нужно, тогда и создавай.
...
Рейтинг: 0 / 0
30.10.2018, 16:57
    #39725100
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
WaspNewCore,


https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task.-ctor?view=netframework-4.7.2
Конструкторов там куча.
Типа -
Task t = new Task( () => { foreach(var path in Directory.GetFiles(dirName))
list.Add(path); } );
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли создать Task и вручную контролировать его свойства типа Status и пр ? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]