java这个问题算不算并发问题

java这个问题算不算并发问题

背叛残局 发布于 2021-11-25 字数 375 浏览 904 回复 21

所有数据都存在T104表中,现在是A,B,C,D等用户同时登陆,各个用户都有自己单独的数据(T 104表中有字段和用户绑定),现在当A,B,C,D等同时修改或者转移自己的数据时,出现问题:1、数据转移混乱,A的数据不是A而而是B,B的是D的数据;2、A中数据内容发生改变,但A认定不是自己修改;请问这个算并发问题么,Tomcat日志里面没有异常或者错误,这种问题该怎么解决,网上搜到这个问题了但没有解决办法。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(21

梦里兽 2021-12-01 21 楼

这表现的是并发问题,其实是bug

一人独醉 2021-12-01 20 楼

这个正在查找是不是这方面的问题,找到现在还没发现是这个,关键是没有任何属性能影响两或者多用户之间数据的变化

伪装你 2021-12-01 19 楼

把类级变量声明为方法级变量,即可解决你的问题。

奈何桥上唱咆哮 2021-12-01 18 楼

如何使用新的东西?我不知道,如果你使用的企业管理工具,但我可以推荐一个好的方案。
我想告诉你们一个新的有趣的工具,我知道你有很多其他的事情,但你可以尝试使用http://kanbantool.com。你有什么其他的建议?这是一个新的东西,有很多的选择和您的企业管理可以受益于使用它。

把昨日还给我 2021-12-01 17 楼

应该不会有吧 程序里面没考虑并发性问题 按理说框架应该支持至少是个用户同事操作吧

筱武穆 2021-12-01 16 楼

想楼上几位说的,有没有全局变量之类的, id取的对不对

孤檠 2021-12-01 15 楼

我也觉得你这个是程序有BUG

带上头具痛哭 2021-12-01 14 楼

Spring Hibernate ext

南冥有猫 2021-12-01 13 楼

用得什么框架

本王不退位尔等都是臣 2021-12-01 12 楼

查看代码里面是不是有形如共享变量的存在····

一个人的旅程 2021-12-01 11 楼

找不出来,,,别人写的程序 看了好久还是有点晕晕的 文档注释都没有,,

坐在坟头思考人生 2021-12-01 10 楼

我局的还是代码有问题

陌若浮生 2021-12-01 9 楼

不知道是不是Bug,看了两天了快,还没什么收获。。

秋意浓 2021-12-01 8 楼

调试下 日志打印出来 hibernate sql语句等 很容易定位问题

归途 2021-12-01 7 楼

同志这是bug

为你鎻心 2021-12-01 6 楼

对,数据库是要啥肯定给什么的

筱武穆 2021-12-01 5 楼

问题在java这边,数据库不可能查A给你B.

这是线程安全问题导致的.推荐本书,java并发编程实战(老外Brian Goetz写的那本) ,虽然老了点

拍不死你 2021-11-30 4 楼

刚看了下数据库设计和程序代码部分,T104表中只有一个id对应用户表的用户id,多用户登录操作,tomcat应该会自动分几个线程进行的吧?,多个线程使用同一个函数访问不同的资源,这不会引起线程安全问题吧?,程序中还有必要考虑线程安全么?

勿忘初心 2021-11-30 3 楼

现在正在找这个问题,您的答案对我非常有易,现在还是不能发现问题,请问有什么快速查找的方法没有?

偏爱自由 2021-11-30 2 楼

回复
发生问题的几率大吗?是否可用重现? 如果可以重现,想办法在各个被调用得函数里打印当前线程名对应的登录用户标识,另外在操作表的那个方法也打印当前线程和被操作的用户标识。看两者是否一致,是否会产生不一致。 如果都是一致的,但是数据库里的数据却不一致,那么这很奇怪了啊。如果存在不一致的地方,那么仔细再考虑下为什么会不一致呢,是不是传入的用户标识在哪里取错了。

飘过的浮云 2021-11-29 1 楼

这有可能是并发问题。

可能程序中共享了什么变量,4个用户同时操作它,导致发生错误。这个共享变量跟这4个用户的id或者某个用户标识有关。

解决办法是,把这个变量(类的属性)做成方法内局部变量,或者把这个变量所在的类不要做成单例的。必须做成全局的以便在各个地方调用的,但又每个用户都不一样的,比如:请求的参数列表,可以做成ThreadLocal。

看看Service等等有没有属性,如果有,研究这个属性在哪里被调用、被修改。