Size: a a a

2020 May 05

S

Sergey Trofimov in CODE BLOG / C#
потом методом вывода резуьтатов проходишься по Task.Result
источник

S

SHKURMANDER in CODE BLOG / C#
намек понял, щас ппробую
источник

S

Sergey Trofimov in CODE BLOG / C#
SHKURMANDER
если вызов async метода(обертки) происходит в цикле, а вывод результатов идет внутри другого метода вызываемого асинхронным методом, как к нему прикрутить WaitAll?🤔
если у тебя один метод ответсвенный за вывод и расчет - это нарушение SRP
Они должны быть независимы)
источник

S

SHKURMANDER in CODE BLOG / C#
Метод вывода матрицы отдельный, просто сначала вызывается вывод матрицы, а потом выводится результат вычислений - одно число, тут то и происходит хреномасть.
надо либо результаты вычислений куда-то писать и потом выводить все красиво, но тогда надо делать связку между поданными данными и результатом, словарь какой-то или еще чего мутить, ну и трабл опять же как вернуть результат вычислений
источник

S

SHKURMANDER in CODE BLOG / C#
солид вроде не нарушать стараюсь :)
источник

S

SHKURMANDER in CODE BLOG / C#
по крайней мере единcтвенную ответсвенность :)
источник

EA

Egene Avdeev in CODE BLOG / C#
SHKURMANDER
Метод вывода матрицы отдельный, просто сначала вызывается вывод матрицы, а потом выводится результат вычислений - одно число, тут то и происходит хреномасть.
надо либо результаты вычислений куда-то писать и потом выводить все красиво, но тогда надо делать связку между поданными данными и результатом, словарь какой-то или еще чего мутить, ну и трабл опять же как вернуть результат вычислений
Метод который там что-то считает, должен возвращать не число (int например) а Task<int>
источник

S

SHKURMANDER in CODE BLOG / C#
Т.е. таск с результатом, хмм идея
источник

S

Sergey Trofimov in CODE BLOG / C#
SHKURMANDER
Т.е. таск с результатом, хмм идея
стоп, а как ты хотел по другому ?))))
источник

EA

Egene Avdeev in CODE BLOG / C#
SHKURMANDER
Т.е. таск с результатом, хмм идея
Это обязательно как бэ
источник

EA

Egene Avdeev in CODE BLOG / C#
SHKURMANDER
Метод вывода матрицы отдельный, просто сначала вызывается вывод матрицы, а потом выводится результат вычислений - одно число, тут то и происходит хреномасть.
надо либо результаты вычислений куда-то писать и потом выводить все красиво, но тогда надо делать связку между поданными данными и результатом, словарь какой-то или еще чего мутить, ну и трабл опять же как вернуть результат вычислений
Покажи один метод, которым ты обрабатываешь матрицу свою. В паст бин
источник

S

SHKURMANDER in CODE BLOG / C#
источник

S

SHKURMANDER in CODE BLOG / C#
там 2 метода связанных, второй минорную матрицу возвращает
источник

EA

Egene Avdeev in CODE BLOG / C#
SHKURMANDER
там 2 метода связанных, второй минорную матрицу возвращает
У тебя результат последующих вычислений зависит напрямую от предыдущих, и сомнительно что тебе здесь "распараллеливание" нужно. Но вообще если очень хочется, и так делать нельзя, но тебе можно, то...

Делаем таску, меняем возвращаемый тип у метода
public static Task<int> Determinant (SqMatrix array)
При вызове внутри самого метода ожидай, пока завершится таска. Через Wait(). Но это говнокод
источник

S

SHKURMANDER in CODE BLOG / C#
Такое уж задание от препода... есть алгоритм, его реализовал, есть задание запустить параллельные вычисления для списка матриц
источник

EA

Egene Avdeev in CODE BLOG / C#
SHKURMANDER
там 2 метода связанных, второй минорную матрицу возвращает
Оо, нашёл место где можно через таски сделать. В цикле где ты к dec прибывляешь или убавляешь значение. Цикл на пачку тасок заменить
источник

S

SHKURMANDER in CODE BLOG / C#
ну это в рекурсию на тасках уйти?
источник

S

SHKURMANDER in CODE BLOG / C#
мать его страшно получается
источник

S

SHKURMANDER in CODE BLOG / C#
там нельзя, если рассинхронятся рекурсивные вызовы результат неверный будет
источник

S

SHKURMANDER in CODE BLOG / C#
хотя может и нет
источник