做设备上位机4年,大多数时候使用的都是NLog、Log4Net这些开源框架直接写,在无数的项目的跌倒而又再次跌倒,为啥这么说,日志打印稍微卡一下无关紧要,这是每次跌倒后说服自己的。
文章目录
一、解决思路
采用生产消费模式,利用线程安全的队列进行缓冲(比Lock锁快)。
二、C#实现
1.消费者(核心代码)
每秒1000次检验队列是否有产品,确保数据丢失小于1ms
/// <summary>
/// 自动维护Log线程
/// </summary>
private void MessageProc()
{
while (!cancelSource.IsCancellationRequested)
{
if (!