• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2022-06-24 00:30 Aet 隐藏边栏 |   抢沙发  8 
文章评分 1 次,平均分 5.0

获取

  1. 通过一个COM接口的方式获取到一个管理器对象

ThreadHelper

  1. 是一个抽象类,接口run是抽象的

start

  1. 作为抽象基类,实现了start
  2. 主要功能是创建了一个线程(是跨平台的实现),

  1. 然后创建了一个Helper,调用了run

  1. run里面开始往列表里放数据

wait

  1. 等待run里面创建的线程内核对象

TObjRefImpl

  1. 是一个COM接口类

ILog4zManager

  1. 继承自IObjRef,是一个抽象类

TObjRefImpl<ILog4zManager>

  1. 是ILog4zManager的一个偏特化

LogerManager

  1. 继承了ThreadHelper
  2. 继承了TObjRefImpl的偏特化TObjRefImpl<ILog4zManager>

使用

  1. 创建具象化对象
  2. 调用start

  1. 结束的时候调用stop

  1. 其他地方使用

设计思路

  1. 在一开始创建了一个线程,线程里面在不断检测存放log数据的list里面是否有数据,有数据就拿出来并处理
  2. 外部在使用的时候,由于在一个比较早的时机将LogManager创建好了,通过宏来在需要的地方添加日志,实质是将输入放到对应的list里面
  3. 这样,线程检测到有数据来了,就去处理

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享