不打debug的情况下handler处理的计算结果主键ID拿的都是线程最后一个的ID,打debug等待一下就能正常拿到值了,请问如何避免这种问题发生。
异步提交任务,导致数据错乱的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 进步·于辰 2023-12-06 14:02关注
虽然不知道这些功能是做什么的,不过我大概懂你意思了,你是想在每个线程中都可以拿到ID吧,而不是现在这样只拿到最后一个。
如果要实现这样的功能,代码现在这样肯定不行。因为现在拿ID的代码是在主线程跑的,你让主线程休眠了10s的确可以保证能拿到ID,但肯定也是最后一个。
我的想法:创建一个数组、列表或者集合都行,用来临时存储ID,比如:
Collections.synchronizedList(new ArrayList())
、new Vector()
(用这类结构都省去了手动加锁synchronized),自己再设计一下。然后在休眠10s后遍历从中获取ID。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 易康econgnition精度验证
- ¥15 线程问题判断多次进入
- ¥15 msix packaging tool打包问题
- ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
- ¥15 python的qt5界面
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致