您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 多备份数据更新管理器模板设计(C++ Template)
  所属分类: C++
  开发工具:
  文件大小: 5kb
  下载次数: 0
  上传时间: 2013-07-27
  提 供 者: catx****
 详细说明: 在网络服务等需要提供不间断服务的程序中,程序的运行时升级通常都是一项常规任务,例如: 1)运行时修改一些参数配置; 2)运行时修改一个算法模块(动态库); 为了在执行这些任务时,程序不停(仍使用旧配置或旧模块运行),常见的解决方案包括: 1)增加冗余的配置项或模块句柄的存储空间(所有这些数据打包成一个结构体),程序运行时使用其中的一份;当需要更新时,在更新的过程中将新的配置(或模块句柄)内容存储至备用内存;加载完成后将运行时配置(或模块句柄)指针指向新的内存地址。由于修改配置(或模块句柄)的频率远小于这些内容的读取频率,因此一个线程执行更新操作即可。另外,即使外加有多个线程同时读取,由于只涉及到配置项(或模块句柄)的整体结构体的这一个指针修改,读线程读到的值无非是“旧指针”和“新指针”二者之一(如果内存读写模型不支持这一点,或者在这种情况下可能有第三种,甚至第四种情况出现,本方案将不可用),因此程序仍能正常执行,并最终使用更新后的内容运行。 2)程序通过一个主进程协调,具体任务由工作进程完成。外界通知这个主进程使用新的配置(或模块),主进程便创建新的工作进程,这些新启动的进程自然会使用新的配置(或模块);当新创建的进程 一切就绪之后,主进程便会通知其他进程结束,并在之后将新的任务委派给新创建的进程。Nginx的设计便是这种方案的一个典型。 这里设计的一个C++模板是上述解决方案1)的一种实现。 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: