【发布时间】:2020-05-24 18:22:42
【问题描述】:
我有这段代码可以勾选我的 JAVA 游戏,但我需要为迭代器中的每个实体创建一个新线程。
public void tick(){
player.tick();
Iterator<Entity> it = entities.iterator();
while (it.hasNext()) {
Entity e = it.next();
e.tick();
}
}
我尝试了类似的方法,但它根本没有任何好处。
public void run(){
entityThread = new Thread();
entityThread.start();
running = true;
Iterator<Entity> it = entities.iterator();
while(running) {
player.tick();
while (it.hasNext()) {
Entity e = it.next();
e.tick();
try {
entityThread.join();
System.out.println("vyksta join");
System.out.println(Thread.currentThread().getName());
} catch (InterruptedException er) {
er.printStackTrace();
}
}
}
}
我想过做一个线程池,但迭代器中的东西并不多。有5个实体。我怎样才能做到这一点?
【问题讨论】:
-
你有什么问题?
-
@user3707125 抱歉,问题是,如何正确地在我的程序中添加多线程?
-
你应该看看如何创建一个线程,因为你没有正确地做。有关更多指导,请参阅 this 之类的内容。
-
你想达到什么目的?如果您对 Java 中的正确术语或多线程一无所知,请至少尽力解释您想要什么。不只是问“如何正确地将多线程添加到我的程序中?”.
-
@akuzminykh 我需要为迭代器中的每个实体创建一个新线程,并在程序结束时加入所有线程。
标签: java multithreading