Re[5]: Interlocked
От: Sharov Россия  
Дата: 29.12.18 10:46
Оценка:
Здравствуйте, RushDevion, Вы писали:

RD> public Task<T> GetValueAsync()

RD> {

RD> // Ошибка инициализации? Сбросим текущую таску в null, чтобы перезапуститься при след. обращении

RD> task.ContinueWith(_ =>
RD> Interlocked.CompareExchange(ref m_Value, null, task),
RD> TaskContinuationOptions.OnlyOnFaulted | TaskContinuationOptions.ExecuteSynchronously);

RD> return task;

RD> }

А тут rc не будет случаем? Может continuation прицепить к родителю (task)?
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.