为了账号安全,请及时绑定邮箱和手机立即绑定

Java程序,关于多线程。求问问题出在哪里?

Java程序,关于多线程。求问问题出在哪里?

繁花不似锦 2018-10-10 13:38:43
他的要求是设计一个矿山,里面有1000枚金币,有3只狗同时挖矿,每次随便挖几个,每次不能超过10枚。要求最后不能把矿山挖到负数。我的程序如图。有什么问题。谢谢!
查看完整描述

2 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

这个程序应该说设计方面有点小问题,线程的同步应该是在线程内部也就是MineThread()里面实现,而你现在的程序是在class Mine()里面设计,这就不好搞了。
对gold这个变量的改动应该能够在线程MineThread()内部有体现,但是现在的程序里没有看到。
synchronized这个修饰符应该是放在getGold()方法前面,而不是用来对某一个key值进行限定。而且你在class Mine()里定义了3个key,应该也是不大合适的。将getGold()方法想办法放到MineThread()方法里,就差不多了。
查看完整回答
反对 回复 2018-10-24
?
不负相思意

TA贡献1777条经验 获得超10个赞

你的Mine 没有实现Runnable
查看完整回答
反对 回复 2018-10-24
  • 2 回答
  • 0 关注
  • 848 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信