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

Я делаю класс, основная работа которого будет происходить с помощью таймера. А точнее через 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
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
    #39725053
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaskCompletionSource
то, что вам надо, гуглите
...
Рейтинг: 0 / 0
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
    #39725058
WaspNewCore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется это именно оно. Припоминаю, что как раз с его помощью и оборачивали таймеры в Task. Это мне и нужно.
...
Рейтинг: 0 / 0
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
    #39725061
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WaspNewCoreМетод толжен вернуть вернуть некий Task, по которому вызывающий класс будет контролировать статус выполняемой задачи. Подпишется через ContinueWith, чтобы отслеживать когда метод завершит работу по ошибке или по команде остановки (через token).
Хммм. Почему не взять await и CancellationToken?
...
Рейтинг: 0 / 0
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
    #39725064
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WaspNewCoreЯ конечно могу создать ненужную задачу через
WaspNewCoreНо так ведь будет создана ненужная задача,дык не создавай!))))))
Кода нужно, тогда и создавай.
...
Рейтинг: 0 / 0
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
    #39725100
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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