我有一个C程序,它有多个工作线程.有一个主线程周期性地(每0.2秒)进行一些基本检查(即线程完成,接收到信号等).在每次检查时,我想将日志文件中任何线程在其日志缓冲区中可能包含的任何数据写入日志文件中.
我最初的想法是简单地打开日志文件,从所有线程写入数据然后再次关闭它.我担心这可能是一个过多的开销,因为这些检查每0.2秒发生一次.
所以我的问题是 - 这种情况效率低下吗?
如果是这样,有人可以建议更好的解决方案?
我想让文件描述符保持打开状态,只是在每次检查时写入新数据,但是如果物理文件以某种方式被删除,程序将永远不会知道(没有重新检查,在这种情况下我们也可能只是打开)该文件再次)和记录数据将丢失.
(此程序设计为运行很长一段时间,因此日志文件将在某些时候删除的事实基本上由于日志轮换而得到保证.)
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |