zhelaevdenis / Parallel-Programming

My labs with graphics
0 stars 0 forks source link

Вопросы lw7 #7

Open ReactiveTurtle opened 3 months ago

ReactiveTurtle commented 3 months ago

https://github.com/zhelaevdenis/Parallel-Programming/blob/dd332cf8826929668087c119c304ca986f375aae/lw7/ParalelDownloadApp/lw7ParalelDownloadApp/Program.cs#L1

Нужны ответы на вопросы из лабораторной

zhelaevdenis commented 3 months ago

2.Объяснить вкратце как работает async/await. 3.Объяснить что такое Task и для чего нужен. 4.Объяснить для чего нужен async/await. 5.Рассказать про Task.WhenAll.

Ответы на вопросы: async/await Используется async для параллельной работы, работает вместе с await. async запускает задачу и не дожидается ответа, запуская другую. достигая await отдает управление обратно в вызывающий метод до тех пор, пока операция не завершится. После этого продолжает решение текущей задачи, на которой прервался

Task Это объект, представляющий выполняемое асинхронное вычисление. Task это объект который представляет собой как законченное решение, так и то, что будет выполнено в будущем. Может возвращать уникальный идентификатор задачи, текущее состояние задачи, завершена ли задача или отменена. Так же возвращает результат задачи, произошла ли ошибка и номер исключения в случае ошибки. Может задать продолжение, которое будет выполнено после завершения задачи., блокировать вызывающий поток до завершения задачи. Ещё может настроить поведение упомянутого await для задачи.

Task.WhenAll. метод в библиотеке .NET, который дожидается конца работы всех потоков. Является аналогом WaitForMultipleObjects в win api насколько я понял.

ReactiveTurtle commented 3 months ago

Принято