我认为最简单的方法是获取支持它的日志框架。例如。有一个 异步包装器 对于NLog来说,这是一个很棒的日志框架。
记录通常发生得非常快,并且可能在某些实时应用程序中避免使用(例如交换源或某些硬件)。否则就像在普通的Web应用程序中一样,它根本不重要,你应该尝试优化系统的其他部分,然后才能达到如此低的水平。如果我们以Web请求/响应为例,那么通过网络发送数据将会非常慢,因此通过优化日志记录,您将获得可能低于1%的增长,这是不明显的。
附:在我的整个职业生涯中,我从来没有需要以这种方式优化日志记录,所以我认为除非你真的需要它,否则不值得花时间。
您可以使用非关键操作的方法,并使用async和await将其传递给工作线程。这将使主线程将操作委托给工作线程。一旦遇到await,操作就被委托给工作线程,并且工作线程将处理该方法的其余部分。
public async int Get5(){ //关键操作 等待 //任何非关键操作 }