Java并发中变量值偏差成因及对策有哪些?

2026-05-26 04:170阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1119个文字,预计阅读时间需要5分钟。

Java并发中变量值偏差成因及对策有哪些?

1. 问题描述:在一个项目中,需要统计发送请求的结果,开发同事定义了两个全局共享变量CommonUtil.ReqFailNum和ReqNum,分别记录请求失败数和请求总数。在每次发送请求前,都假设请求失败。

1 问题描述

在一个项目中,需要对发送的请求结果进行统计,开发同事定义了两个全局共享变量CommonUtil.ReqFailNum和ReqNum,分别记录请求失败数和发送的请求数。并在每次发送请求之前都假定该请求会处理失败,先对其累加,直到成功收到200的返回码后,重新修正失败数量。

最后当应用处理请求处于较频繁的阶段时,出现了ReqFailNum最后减为负数的情况,一次正常请求完成时,

CommonUtil.ReqFailNum ++;和CommonUtil.ReqFailNum --应该是成对出现的,这个统计值不应该为负数的。

阅读全文

本文共计1119个文字,预计阅读时间需要5分钟。

Java并发中变量值偏差成因及对策有哪些?

1. 问题描述:在一个项目中,需要统计发送请求的结果,开发同事定义了两个全局共享变量CommonUtil.ReqFailNum和ReqNum,分别记录请求失败数和请求总数。在每次发送请求前,都假设请求失败。

1 问题描述

在一个项目中,需要对发送的请求结果进行统计,开发同事定义了两个全局共享变量CommonUtil.ReqFailNum和ReqNum,分别记录请求失败数和发送的请求数。并在每次发送请求之前都假定该请求会处理失败,先对其累加,直到成功收到200的返回码后,重新修正失败数量。

最后当应用处理请求处于较频繁的阶段时,出现了ReqFailNum最后减为负数的情况,一次正常请求完成时,

CommonUtil.ReqFailNum ++;和CommonUtil.ReqFailNum --应该是成对出现的,这个统计值不应该为负数的。

阅读全文