1 效率相关:日志的打印的字符串的内存的分配耗时,打印到串口硬件的耗时,cpu忙时日志处理很慢。
2 空间复杂度:占用内存多少,队列何时满。
3 多线程编程:加锁 条件变量 阻塞。
实现
1 内存先分配一个大的环形缓冲区,打印字符串时获取个写的地址即可。
2 缓冲区在cpu空闲时写到日志文件。
3 比较忙时满了就丢日志保证正常进程任务执行。
1 效率相关:日志的打印的字符串的内存的分配耗时,打印到串口硬件的耗时,cpu忙时日志处理很慢。
2 空间复杂度:占用内存多少,队列何时满。
3 多线程编程:加锁 条件变量 阻塞。
实现
1 内存先分配一个大的环形缓冲区,打印字符串时获取个写的地址即可。
2 缓冲区在cpu空闲时写到日志文件。
3 比较忙时满了就丢日志保证正常进程任务执行。