All Posts

  • Published on
    文章主要解决多线程处理相同产品数据错乱问题,介绍两种方法。方法一是将相同产品 ID 消息放同一线程处理,分配 n 个 Worker 按序执行;方法二是收到消息时上锁,只锁产品,相同产品只允许一个线程处理,代码分别给出两种方法的实现。
  • Published on
    介绍 C++保证函数在超时时间内返回的方法。通过两个接口 execTimeout 实现,利用 shared_from_this 避免智能指针释放,启动新线程执行函数,demo 展示正常返回和超时返回,代码包含 TimeoutGuard 类的实现。
  • Published on
    文章介绍跨平台获取当前进程内存,“Resident set size”很重要。提供了获取进程峰值和当前驻留集大小的函数,在不同操作系统(如 Windows、Linux 等)有不同实现方式,给出了相应源码。
  • Published on
    总结:介绍 vi、vim 常用功能键,包括移动光标、翻页、跳转、搜索、删除复制粘贴、模式切换及 vim 环境变更等,如 h/j/k/l 移动,ctrl+f/b 翻页等,功能丰富实用。
  • Published on
    文章介绍 STL 容器循环 erase 迭代器失效,以 std::map 为例,给出 C++11 和 C++03 两种写法。C++03 中 iter++可避免迭代器失效,而 C++11 写法在某些 linux 编译器不支持,同时指出错误写法会造成崩溃。