最近走了个菜鸟,接手残余项目。

遇到一个问题,这货用std::mutex在websocketpp::server类的on_message函数里面,不断try lock和lock

这里面要注意几个问题:

  1. mutex不能单独unlock,在debug下会跑飞,但是release下不会,好在客户现场用的是release,不然会莫名其妙不断死不知道多少次
  2. mutex应该是线程间同步的原语,在on_message回调里面,好在每次都是同一个线程。没仔细去研究这个server类的实现,要是on_message每次回调不是同一个线程,又是跑飞到天荒地老

这块代码里面有很多问题,trylock和unlock分别放在两个指令响应里面,也就是说,会收到两个报文,一个负责trylock,一个负责unlock

如果客户端发过来一个unlock指令,瞬间跑飞。

这里面需要有一个标记变量,记录是否已经接收trylock

更坑爹的是,这货居然定义了一个单纯的unlock指令,负责客户端解锁,看日志,接收了很多次,我自己在debug模式试了下,飞了,客户现场居然没飞,原来是这个问题。

年后一波离职潮,走了些人,不得不谓有点失落。

忽悠人,钱首先给到位,然后再谈价值,谈理想。格局要大,做领导更要设身处地站在菜鸟的角度想。

也是。你不想干实际的活儿了,想安排人干活,也没错,但你要安抚好人心,随便发号指令,难以服众阿。

另外一点,开始有点发现渠道为王这个道理,世界上不缺干活的人,缺的是能促成一件事件的人,相当于打通社会的通道,只要你能从0变成1,剩下的让干活的人负责。

从社会的角度上看,不缺把1变成100的人,但缺把0变成1的人。

转载于:https://www.cnblogs.com/shawnc24/p/10616558.html

std::mutex找bug解析相关推荐

  1. Java 之父:找Bug最浪费时间,现在不是开源的黄金时代,程序员如何自我学习和成长

    1996年1月,Sun公司发布了Java的第一个开发工具包: 1997年2月,JDK 1.1面世: 1998年12月8日,第二代Java平台的企业版J2EE发布: 2000年5月,JDK1.3.JDK ...

  2. C++多线程:互斥变量 std::mutex

    文章目录 描述 成员函数 总结 描述 头文件 <mutex> 使用 std::mutex <variable> 简介 mutex是一种多线程变成中的同步原语,它能够让共享数据不 ...

  3. 客户花钱雇黑客,竟是为Zoom找bug:风口浪尖的视频会议No.1,安全问题如此魔幻...

    白交 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 客户花钱找黑客,帮你产品找Bug-- 这样的客户哪里找?这样的产品又究竟有怎样的福报? Zoom,疫情之下最火爆的视频会议公司,又上演 ...

  4. C++11 并发指南三(std::mutex 详解)

    上一篇<C++11 并发指南二(std::thread 详解)>中主要讲到了 std::thread 的一些用法,并给出了两个小例子,本文将介绍 std::mutex 的用法. Mutex ...

  5. C++多线程中互斥量std::mutex与模板类std::lock_guard

    一. 互斥量std::mutex C++中通过实例化std::mutex创建互斥量实例,通过成员函数lock()对互斥量上锁,unlock()进行解锁.C++中与std::mutex相关的类(包括锁类 ...

  6. 【多线程】多线程锁住的是什么、std::lock_guard<std::mutex> locker(mutex_)

    通常不直接使用 mutex,lock_guard更加安全, 更加方便. lock_guard简化了 lock/unlock 的写法, lock_guard在构造时自动锁定互斥量, 而在退出作用域时会析 ...

  7. std::mutex

    C++11中新增了<mutex>,它是C++标准程序库中的一个头文件,定义了C++11标准中的一些互斥访问的类与方法等. C++11标准库定义了4个互斥类: std::mutex std: ...

  8. linux的mutex状态查询命令,如何断言std :: mutex是否已锁定?

    使用GCC 4.8.2(在Linux / Debian / Sid 64位上)或GCC 4.9(在C ++ 11中可用)-我有一些互斥锁 std::mutex gmtx; 实际上,它是static某个 ...

  9. 介绍一种找bug的方法

    总第186篇/张俊红 今天介绍一种找bug的方法,分段执行.这个概念不知道多会进入到我脑海中的,可能是有这么一种专门的叫法.特地去网上查了查,好像并没有,只查到了某地方警察办案在通过推行分段执行来提高 ...

最新文章

  1. 【常用工具】常用工具收集
  2. springboot情操陶冶-web配置(四)
  3. 计算机网络·通俗理解RIP协议(距离向量算法计算)
  4. 返回1到n的所有组合python_如何在Python中生成0-1矩阵的所有可能组合?
  5. js 实现2的n次方计算函数_「计算机组成原理」:一文快速了解计算机原理知识点-附思维导图...
  6. OpenCV iOS Hello World应用程序
  7. Redhat Mongodb学习笔记
  8. 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案
  9. hadoop伪分布式(单机版)安装,Linux
  10. 输出亲朋字符串(信息学奥赛一本通-T1133)
  11. 使用Hanlp加载大字典
  12. Windows Phone 7 Silverlight控件展示(含34个控件)
  13. MySql免安装版绿化版安装配置,附MySQL服务无法启动解决方案
  14. 计算机考研自命题院校双非,计算机考研408——951211院校汇总
  15. 基于线上问答社区的逻辑性知识自动问答接口ZhidaoChatbot
  16. 2022最新自动化测试面试题及答案
  17. 【洛谷】入门2 分支结构
  18. apollo新增扩展consul注册中心
  19. 华科计算机学院硕士武汉理工推免,学霸宿舍升级版!这个学院5个宿舍20名成员集体保研...
  20. 数据结构与算法(python版)—— 无序表

热门文章

  1. 计算机音乐儿童,儿童音乐游戏
  2. java 热词_一个热词推荐的简单实现
  3. 【英语早教】少儿英语启蒙机构哪家好,从这几方面来告诉大家
  4. 乔布斯生前最喜欢看的书
  5. php代码浏览器缓存,php 浏览器缓存
  6. 【优秀的素材收藏管理工具】Inboard for Mac 1.1
  7. 安卓手机安全支付之界面设计
  8. 从Data+这步棋读懂英方软件的再进化
  9. 【5】cpp_redis reply
  10. plupload 文件太大 弹出alert_PPT文件太大发不出去?按下这个键,能将100M的PPT变成10M...