Media is too big
VIEW IN TELEGRAM
Параллелизм задач. Task.Factory.FromAsync.
#параллелизмзадач #программирование #сишарп #taskfactory #taskparallelism #csharp #csharpdotnet #csharpprogramming
#параллелизмзадач #программирование #сишарп #taskfactory #taskparallelism #csharp #csharpdotnet #csharpprogramming
Инфраструктура PLINQ, класс
Как инфраструктура PLINQ, так и класс
#aggregateexception #параллельноепрограммирование #сишарп #taskfactory #parallelprogramming #csharp #csharpdotnet #csharpprogramming
Parallel
и объекты Task
автоматически маршализируют исключения потребителю, то есть исключения автоматически перехватываются и повторно генерируются для вызывающего потока. Но, к сожалению, дело не сводится просто к перехвату DivideByZeroException
. Поскольку параллельные библиотеки задействуют множество потоков, вполне возможна одновременная генерация двух и более исключений. Чтобы обеспечить получение сведений обо всех исключениях, по указанной причине исключения помещаются в контейнер AggregateException
, свойство InnerExceptions
которого содержит каждое из перехваченных исключений. Как инфраструктура PLINQ, так и класс
Parallel
при обнаружении первого исключения заканчивают выполнение запроса или цикла, не обрабатывая любые последующие элементы либо итерации тела цикла. Однако до завершения текущей итерации цикла могут быть сгенерированы дополнительные исключения. Первое возникшее исключение в AggregateException
доступно через свойство InnerException
.#aggregateexception #параллельноепрограммирование #сишарп #taskfactory #parallelprogramming #csharp #csharpdotnet #csharpprogramming
This media is not supported in your browser
VIEW IN TELEGRAM
Параллелизм задач. Создание собственных фабрик задач.
#параллелизмзадач #программирование #сишарп #taskfactory #taskparallelism #csharp #csharpdotnet #csharpprogramming
#параллелизмзадач #программирование #сишарп #taskfactory #taskparallelism #csharp #csharpdotnet #csharpprogramming