他的要求是设计一个矿山,里面有1000枚金币,有3只狗同时挖矿,每次随便挖几个,每次不能超过10枚。要求最后不能把矿山挖到负数。我的程序如图。有什么问题。谢谢!
2 回答
UYOU
TA贡献1878条经验 获得超4个赞
这个程序应该说设计方面有点小问题,线程的同步应该是在线程内部也就是MineThread()里面实现,而你现在的程序是在class Mine()里面设计,这就不好搞了。
对gold这个变量的改动应该能够在线程MineThread()内部有体现,但是现在的程序里没有看到。
synchronized这个修饰符应该是放在getGold()方法前面,而不是用来对某一个key值进行限定。而且你在class Mine()里定义了3个key,应该也是不大合适的。将getGold()方法想办法放到MineThread()方法里,就差不多了。
对gold这个变量的改动应该能够在线程MineThread()内部有体现,但是现在的程序里没有看到。
synchronized这个修饰符应该是放在getGold()方法前面,而不是用来对某一个key值进行限定。而且你在class Mine()里定义了3个key,应该也是不大合适的。将getGold()方法想办法放到MineThread()方法里,就差不多了。
添加回答
举报
0/150
提交
取消