·
无可奈何花落去,似曾相识燕归来。

我自己设计了一个库:总体思路是3个线程和一个任务队列,一个前台线程充当生产者,两个后台线程。这两个后台线程又有生产者和消费者,生产者后台线程负责与前台线程交换Buffer,并把【持久化Buffer】这个任务放到任务队列中,消费者后台线程只需要负责从任务队列中取出Task执行就好了。这个思路是参考了陈硕muduo库里日志库的设计,我在此之上添加了一个线程解决了单个后台线程来不及持久化的问题。