UT

来源:互联网 发布:酒店订单管理系统源码 编辑:程序博客网 时间:2024/04/30 17:43

  经过两个星期的奋战,代码初步完成雏形。中间由多进程改用多线程,采用同步信号处理方式,loader按需调用的方式花费了大量了精力,对了,还有FIFO的打开和关闭。最终的程序只有一个进程,主进程根据数据库的配置,起若干个station线程,然后监听网络;station线程初始化两个loader实例。当有服务请求时,主进程起service线程响应,service线程根据数据包的属性将其分发到不同的station线程上面,此时适当的loader实例会再起一个线程负责query以及和station线程进行交互。

  现在的模型基本实现了原来的设想:loader按需启动,定时关闭FIFO以节约资源,能处理time exception等等。中间大量使用了线程库,包括condition,mutex,sem。也碰到了很多的问题,比如说传入线程主函数的参数被覆盖、定时器响应函数和主流程冲突、FIFO的处理等等。总的来说,学到了很多东西,也温习了很多的东西。

  但是也有不足的地方,比如说不支持多实例(主要是因为目前的FIFO不能区分开,比较好弄)、线程之间耦合太紧、抽象不够等等。对于耦合的问题,我还没有想到一个好方法能够将线程之间解耦合,也许这个层次的耦合无法解?等功能基本上稳定了以后可能得需要重构。

   接下来的工作就是UT,我们原有系统采用的好像就是CPPUNIT。现在的规划是UT不会针对单个函数写,可能会以功能块来写,也只是针对功能块的接口吧。至于db svr侧的代码UT是一个麻烦事。可能得单独对UT增加若干个辅助函数才行。

原创粉丝点击