Предположим, у меня есть простой класс с асинхронным методом:
public class Writer
{
public Task WriteAsync(string message);
}
Это внутренний класс, который абсолютно незначителен для бизнес-логики приложения.
Основная идея метода заключается в том, что при его вызове - метод должен немедленно вернуть управление вызывающему методу , чтобы избежать любой возможной задержки в важном, полном бизнес-логики, вызывающем метод (Конечно, возможна задержка вызова этого метода).
Этот метод вызывается в разных местах, очень часто.и нам все равно, будет ли он успешным или не напишет последние сообщения в случае непредвиденной ситуации.Это нормально.
Итак, вопрос в том, как мне позвонить WriteAsync
, чтобы избежать возможных задержек при вызове метода ?
Я думал о Task.Run(() => WriteAsync(message))
(без await
! нам не нужно ждать этого!), но разве это не заполнит мой пул потоков бесполезной работой?И повсеместно писать такой код повсеместно ...