|
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
|
|||
---|---|---|---|
#18+
Можно ли ? Я делаю класс, основная работа которого будет происходить с помощью таймера. А точнее через Task.Delay (ms, token). Метод толжен вернуть вернуть некий Task, по которому вызывающий класс будет контролировать статус выполняемой задачи. Подпишется через ContinueWith, чтобы отслеживать когда метод завершит работу по ошибке или по команде остановки (через token). Я конечно могу создать ненужную задачу через Код: c# 1.
Но так ведь будет создана ненужная задача, которая лишь зря займет процессор. Мне нужно как-то создать Task, свойствами которого я смогу управлять в ручном режиме. Чтобы вместо Task.Run я мог вернуть Task, и уже выставлять его свойства в ручном режиме. Как это можно сделать ? Что-то такое я видел где-то в MSDN, но точно не помню детали. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 16:14 |
|
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
|
|||
---|---|---|---|
#18+
TaskCompletionSource то, что вам надо, гуглите ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 16:17 |
|
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
|
|||
---|---|---|---|
#18+
Кажется это именно оно. Припоминаю, что как раз с его помощью и оборачивали таймеры в Task. Это мне и нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 16:23 |
|
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
|
|||
---|---|---|---|
#18+
WaspNewCoreМетод толжен вернуть вернуть некий Task, по которому вызывающий класс будет контролировать статус выполняемой задачи. Подпишется через ContinueWith, чтобы отслеживать когда метод завершит работу по ошибке или по команде остановки (через token). Хммм. Почему не взять await и CancellationToken? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 16:29 |
|
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
|
|||
---|---|---|---|
#18+
WaspNewCoreЯ конечно могу создать ненужную задачу через WaspNewCoreНо так ведь будет создана ненужная задача,дык не создавай!)))))) Кода нужно, тогда и создавай. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 16:32 |
|
Можно ли создать Task и вручную контролировать его свойства типа Status и пр ?
|
|||
---|---|---|---|
#18+
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); } ); ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2018, 16:57 |
|
|
start [/forum/topic.php?fid=20&fpage=26&tid=1399183]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 395ms |
0 / 0 |