Хорошо, мой предложенный ответ является двойным:
Простой ответ: если вам не нужно ждать задания, не ждите его.
Но последствия будут заключаться в том, что контексты выполнения вашего основного кода и ваших не ожидаемых задач будут расходиться, и если произойдет исключение в любом из методов, которые вы никогда не узнаете в своем коде. Я полагаю, вы вызываете два метода по определенной причине, и они делают что-то, что в конечном итоге понадобится вашему коду, но не сразу?
Если так, то я бы по-прежнему предлагал использовать await
, даже если вам не нужны методы для завершения сразу. Это, однако, гарантирует, что методы в какой-то момент завершены, а влияние на производительность часто минимально, особенно в многопоточном сценарии, поскольку именно тогда срабатывает асинхронная магия и освобождает много времени ЦП во время ожидания.
Если вы хотите иметь скорость и надежность, вы можете сделать что-то вроде
(DataService, Task) InitializeAsync()
{
_dataService = new DataService();
var t = Task.WhenAll(_dataService.InsertCodeDescriptionAsync(), _dataService.InserHeadersAsync());
return (_dataService, t);
}
, которая сразу же предоставит вам dataService, но также и задачу, которую вы можете использовать, чтобы дождаться завершения ваших методов инициализации, когда они вам понадобятся.