线程效率问题

版主大哥 版主大哥 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
版本一:
有一个日志类
有A,B,C,D....等线程,每个线程需要时就去调用日志类打印日志。

版本二:
有个日志类,自己有一个监控线程,查看内部的一个日志消息队列,如有日志消息就Pop打印,没有就睡眠。
有A,B,C,D.....等线程,每个线程有需要就将日志消息push到日志类的消息队列中。


版本一和版本二的效率到底那个好点?

在版本二中,我还可以控制,当队列的消息数据字节达到一定值的时候才去pop打印,这样就起到了一个先将消息缓存,然后到达一定量时,才去打印,节省了IO时间,但是在控制方面,遇到很多问题。
我的想法是使用2个队列,2个队列的状态一定是一个pop状态,一个是push状态,当pop状态的队列消息为0并且push状态的消息队列到达一定字节时,转换状态....

看到win32中的线程消息队列,和界面里涉及的消息队列,我想知道里面的具体实现和原理,有谁跟我说说不?
...全文
评论 5
收藏 已收藏
分享
返回顶部
版主大哥
C++ 语言 65,214 成员 250,514 内容