`
helpbs
  • 浏览: 1169650 次
文章分类
社区版块
存档分类
最新评论

前车之鉴 代码安全问题总结教训

 
阅读更多

我们有时候在写代码的时候有些疏忽大意,最近在做个网络连接问题出现了 这样一个BUG

问题描述:代码跑到手机上执行第一次连接的时候很顺畅,按照特定的流程进行,当我第二次连接

的时候,有时候会发生卡住一卡卡的情况严重影响游戏里面的主线程

在此检查代码 连接时候是用的单独的线程去连接,理论上不会影响主线程的运行。

代码结构贴出来


这里在连接的过程中需要用户来请求 可以连续点击多次,经过上面的代码可以出现描述的问题了

写到这里有经验的同学可能会发现问题,如果没有被困扰的同学可能觉得这没啥问题

有经验的现在也许就知道怎么回事了

在这里会出现线程交互 共用一个step资源 导致两个线程间出现锁定状态

这个可以研究下线程交互 线程死锁问题 这里不一一介绍

上述描述一大堆 总结起来 我们在写代码的时候如果严格要求代码的质量,也许上述问题就会避免

public static int step = 0; 改成 private int step 私有的 这样安全咯

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics