zoukankan      html  css  js  c++  java
  • 不要在类的函数中使用static字段

    昨天在做存储服务的压力测试,后台是采用多线程根据玩家唯一标识做线程划分的,在测试的过程中发现,进行存储的时候,会发生玩家数据错乱的情况。

    一开始怀疑是上层逻辑在处理数据的时候发生了错乱,导致保存的时候玩家数据是乱的了。

    后来经过详细的日志跟踪,发现其实在存储之前上层发送过来的数据是完全正确的,在存储过后,再读取出来,数据就是乱的了。在这里要说下log4cplus还是非常优秀的日志库,能够在日志中记录线程ID,对于多线程的调试能起到一定的帮助作用

    仔细看了一下代码,发现原来是处理数据存储的对象函数里面为了减少栈的大小,使用了一个静态的buf

    对象本身虽然是每个线程里面一个,但是buf却是共享的,这就导致了存储sql拼装的时候,发生了错乱了。

    对此错误,记录一下,防止以后发生类似的问题。

  • 相关阅读:
    hiho150周
    hdu1011
    hiho1055/hdu1561
    bat脚本启动exe并打开文件后退出 + 中文乱码
    hiho1080
    hiho1079
    java异常处理——基础篇
    找不到要编译的文件——path环境变量配置
    MVC——studying
    轻松搞定EasyUI
  • 原文地址:https://www.cnblogs.com/chobits/p/3781282.html
Copyright © 2011-2022 走看看