【发布时间】:2013-07-04 15:50:31
【问题描述】:
我即将编写一个动画,其中JPanel 上的角色在用户按下(并按住)适当的键时向左/向右移动。
现在,由于我是并发的新手,我想问:是否应该执行处理动画的代码(即只要按住键就会移动和重绘角色的方法)在工作线程或事件调度线程上?
我在swing 中阅读了关于并发的教程,似乎改变组件的东西(在这种情况下它正在绘制JPanel)应该在事件处理线程上,但另一方面会冻结所有其他的活动只要一键就会举行吧?
例如,如果我理解正确,用户在按住向左键时将无法暂停游戏。那么哪种方法是正确的,为什么?或者也许有完全不同的方式来制作这样的动画?
提前谢谢你!
【问题讨论】:
-
如果你要隐式绘制,一个简单的线程方法会有所帮助,因为底层线程和你的线程之间没有任何冲突,比如this
标签: java multithreading swing animation concurrency