Ответы пользователя по тегу Асинхронное программирование
  • Как параллельно выполнять функции на C#?

    @nightwolf_du
    5 лет опыта. c#, js, sql.
    самый простой вариант - попробуйте вызвать без await, т.е.
    var task1 = Func1();
    var task2 = Func2();
    Затем подождите асинхронно завершения всех тасков
    await Task.WhenAll(task1, task2, task3);
    И делайте с результатами что хотите. Результат можете брать хоть await task1, хоть task1.Result (аналогично с остальными task)

    Function1 в таком варианте может исполняться синхронно до первого await (точнее могу сказать подняв книгу, которую и вам рекомендую - Дэвис Д. - Асинхронное программирование в C# 5.0 - 2013 )

    А так есть куча способов параллельного исполнения - от брутального старта нового потока new Thread(<делегат>).Start() и записи куда-нибудь в общую память, старенького Parallel.ForEach до Task.Factory.StartNew()
    Ответ написан
    Комментировать