【发布时间】:2011-09-20 00:51:54
【问题描述】:
我正在尝试使用线程和 MVC 来模拟各种战斗序列。详情:
- 每个生物都有一个主动得分,决定谁先走。
- 每个生物都必须陈述其预期目标。
- 生物被加载到“战斗”类的堆栈中;得分最低的生物首先进入堆叠。
- 一旦每个生物都选择了一个目标,堆栈就会清空,并且生物会按照他们的先手顺序行动,最高优先。
分配约束要求我将这些生物作为单独的线程处理。问题是:
- 我不知道如何让“战斗”类意识到它必须处理堆栈上的动作,因为不会有更多的生物进入它。
- 我认为“战斗”必须有办法知道所有正在运行的线程中最低的主动得分,但我不知道如何管理它。
如果我不能更清楚地说明这一点,我深表歉意。真是令人沮丧。
【问题讨论】:
-
查看使用优先级队列的 ThreadPoolExecutors。让主应用程序将每个可运行的生物推送到队列中,然后执行池执行器,这些执行器将依次按优先级顺序运行。一旦 ThreadPoolExecutors 完成,冲洗重复
-
这仍然有点超出我的专业知识。去查一下,看看我能用它做什么。谢谢:)
-
跳出舒适区在编程中很重要。虽然当您不知道自己在寻找什么时,深入了解这样的事情总是好的:)
-
考虑添加作业标签。
标签: java multithreading variables