【发布时间】:2014-06-28 09:20:09
【问题描述】:
我在学习 Java 线程时遇到了一些问题。我们的目标是进行模拟,向我们展示兔子如何在某种板上从狼身上奔跑。每只狼和每只兔子都应该是一根线。所以我在 Test 类的 main 方法中创建了一个 GUI,并创建了一个实现 Runnable 接口的新类。我认为这很容易和合乎逻辑。但是现在,我怎样才能从这些线程中调用AddRabbit 方法呢?因为非常线程应该这样做:
- 更改其属性,例如地图上的位置
- 检查地图上的其他线程
- 在面板上绘画自己
但是怎么做呢?
【问题讨论】:
-
您在工作中使用了错误的工具。当您想要并发执行并不意味着并行(通常天真地假设)而是没有任何时间关系时,应该使用线程。另一方面,模拟通常意味着所有参与者/组件应在相互关联的情况下执行它们的活动,这是相反的。您应该使用普通对象和
Timer。
标签: java multithreading swing jpanel rendering