Это зависит от того, что вы подразумеваете под правильным:)
Например: вас интересуют исключения, которые выдается в ваших вызовах «запусти и забудь»? Если нет, то это нормально. Хотя вам может понадобиться подумать о том, в какой среде находится задача.
Например, если это приложение asp. net, и вы делаете это во время жизни потока, созданного из-за вызов в .aspx или .sv c. Задача становится фоновым потоком этого (переднего плана) потока. Поток переднего плана может быть очищен пулом приложений до того, как ваша задача «запустить и забыть» завершена.
Так что подумайте также о том, в каком потоке живут ваши задачи.
Думаю, эта статья дает Вот вам некоторая полезная информация: https://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx
Также обратите внимание, что если вы не вернете значение в своих Задачах, задача не вернет информацию об исключении. Источником для этого является справочник для Microsoft экзамен 70-483. Возможно, где-то есть бесплатная версия этого онлайн; P https://www.amazon.com/Exam-Ref-70-483-Programming-C/dp/0735676828
Может быть полезно знать, что если у вас есть Метод asyn c вызывается не-асин c, и вы sh узнаете его результат. Вы можете использовать .GetAwaiter (). GetResult ().
Также я считаю важным отметить разницу между asyn c и многопоточностью.
Asyn c только полезно, если есть операции, которые используют другие части компьютера, которые не являются процессором. Такие вещи, как работа в сети или операции ввода / вывода. Использование asyn c затем сообщает системе go вперед и использует мощность ЦП в другом месте, вместо того, чтобы «блокировать» этот поток в ЦП для ожидания ответа.
многопоточность - это распределение операции над разными потоками в ЦП (например, создание задачи, которая создает фоновый поток потока переднего плана ... потоки переднего плана, являющиеся потоками, составляющими ваше приложение, они являются первичными, существуют фоновые потоки, связанные с потоками переднего плана. Если Вы закрываете связанный поток переднего плана, фоновый поток также закрывается) Это позволяет процессору одновременно выполнять разные задачи.
Объединение этих двух компонентов гарантирует, что процессор не будет заблокирован только в 4 потоках. если это 4-х потоковый процессор. Но он может открывать больше, пока он ожидает асин c задач, ожидающих операций ввода-вывода.
Я надеюсь, что это даст вам информацию, необходимую для выполнения, чем бы вы ни занимались:)