а как можно ождать заверщения нескольких тасков плюс какого-то события типа AuthResetEvent?
мне это нужно чтобы ждать либо таски либо событие которое происходит переиодически и не влазит в концепцию таска
и без таймаута)с таймаутом все умеют
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
У Task есть свойство AsyncWaitHandle типа WaitHandle.
Составляешь массив из них + AuthResetEvent + CancellationToken.WaitHandle (чтобы была возможность отменить ожидание без timeout).
И передаешь в WaitHandle.WaitAny.
Можно и наоборот AuthResetEvent в Task обернуть, но мне такой способ меньше нравится. Но если нужно асинхронное ожидание, то следует смотреть в эту сторону.
Здравствуйте, Barbar1an, Вы писали:
B>мне это нужно чтобы ждать либо таски либо событие которое происходит переиодически и не влазит в концепцию таска
Я бы попробовал сделать нечто, что сигналило бы cancelation token у тасков. Тогда получается:
* если пришёл досрочный event — дёргает токены чтобы незавершённые таски схлопнулись
* иначе все таски успешно дорабатывают свои unit of work и всё равно схлопываются
Здравствуйте, Barbar1an, Вы писали:
B>а как можно ождать заверщения нескольких тасков плюс какого-то события типа AuthResetEvent?
B>мне это нужно чтобы ждать либо таски либо событие которое происходит переиодически и не влазит в концепцию таска
B>и без таймаута)с таймаутом все умеют