青亭浅 2023-05-23 18:00 采纳率: 88.2%
浏览 12
已结题

关于#输出格式#的问题,如何解决?

假设某家银行每接受一次顾客的汇款,便可计算出当前汇款总额。若现有两个顾客,每人分3次、每次100元将钱汇入。试模拟该银行,输出格式如下:
顾客甲第1次存入100元,汇款总额100
顾客乙第1次存入100元,汇款总额200
顾客乙第2次存入100元,汇款总额300

img

为什么第一行数据输出两百

  • 写回答

1条回答 默认 最新

  • 创意程序员 2023-05-23 18:08
    关注

    你的 synchronized(this) 是用在线程里面的方法中,实际是限制线程内部的同步,线程间仍可以并行。同时启动两个线程,num=num+100几乎是同时执行,所以输出时会是200。可以将 int num 改为线程安全的比如 AtomicInteger num,线程内不再需要 synchronized(this)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 Stable Diffusion视频动画制作时,第一步蒙版生成报错怎么处理啊,蒙版和帧图没法生成
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上