【发布时间】:2015-02-18 23:50:16
【问题描述】:
我目前正在开发一个模拟,其中涉及数千个 1x1 像素 2D 矩形在 JPanel 周围移动。矩形移动,可以碰撞和连接在一起。
我创建了一个Event Dispatch Thread,它又创建了我的 GUI。然后我创建了一个模拟实例,并使用游戏循环通过move()、detectCollision() 和repaint() 方法控制系统,所有矩形都存储在全局ArrayList 中。 move() 将每个矩形移动 1 个像素,而 detectCollision() 检查两个矩形是否彼此相邻,并在适用时将它们连接在一起。
系统目前可以运行,但运行速度非常慢。在每个方法周围放置一个计时器表明我的detectCollision() 方法最多可能需要 1000 毫秒才能完成。我的问题是,我可以在detectCollision() 方法中使用工作线程来提高程序的效率吗?
【问题讨论】:
标签: java multithreading swing