java开发的的一点小疑点(图形化、线程)

java开发的的一点小问题(图形化、线程)
小菜鸟我最近在做一份作业,要模拟一个生态系统。我用java做的,现在只有三个物种,虎,羊和草。我已经实现了让用户定义各个物种的数目,然后在面板上用不同颜色的点表示。效果就像下面表示的那样

我现在需要开始模拟物种的运动和捕食过程,但是遇到了点问题。我想法很简单,比如老虎只需要找到离自己最近的一只羊的位置,然后走过去,如果羊还在就将其捕食。
可是该怎么同时操纵这么多的对象呢,如何使他们全部都一直在探测和运动。个人觉得应该是要实用多线程的知识吧,可是我不是很懂,各位大牛们可不可以清楚详细点的跟我介绍一下思路和想法。非常感谢啊!

------解决方案--------------------
其实可以不需要。

其实即便你用了多线程,多线程在CPU这里也是排队执行的,所以多线程不是必需的。

你只需要循环的处理所有老虎、羊,循环中每次处理时仅就考虑当前所处理的这只就够了。

当你单线程处理能顺利搞定后;为了能充分利用多核CPU或超线程CPU,再将其改造为多线程的,这将引入很多同步问题,其实会把问题复杂度大大提升的。
------解决方案--------------------
探讨

其实可以不需要。

其实即便你用了多线程,多线程在CPU这里也是排队执行的,所以多线程不是必需的。

你只需要循环的处理所有老虎、羊,循环中每次处理时仅就考虑当前所处理的这只就够了。

当你单线程处理能顺利搞定后;为了能充分利用多核CPU或超线程CPU,再将其改造为多线程的,这将引入很多同步问题,其实会把问题复杂度大大提升的。

------解决方案--------------------
对头,多线程没必要啦~反正图像的话要整个画布paint一遍,设置好参数一帧一帧paint就好了,如果分开paint的话,两个图片重叠式会闪的~