gpt4 book ai didi

java - Java同时做两件事

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:30:26 24 4
gpt4 key购买 nike

嗯,我正在用 Java 开发一个在线游戏。我有一个客户端和一个服务器。语音系统等待新消息显示如下:

public void addSpeech(String msg) {
String newMsg = parsel10n(msg);
m_narrator.addSpeech(parsel10n(newMsg));
while (!m_narrator.getCurrentLine().equalsIgnoreCase(newMsg))
;
while (!m_narrator.getAdvancedLine().equalsIgnoreCase(newMsg))
;
}

问题是.. 由于 while 循环,应用程序的其余部分停止了。在此循环中,我没有看到任何其他玩家移动或看到聊天。有没有一种方法可以在不使用循环接触应用程序(客户端)的其余部分的情况下运行此方法?应该涉及线程吗?我希望你能回答我。

最佳答案

是的,应该涉及线程。

如果您只想在主执行线程的同时启动一个任务,您可以这样做:

new Thread(){
public void run(){
addSpeech();
}
}.start();

但是您必须检查您的数据结构是否可以从多个线程访问。

而且您可能想在任务结束时做一些事情,等等。所以我建议您查找有关 Java 线程和任务队列的教程。

关于java - Java同时做两件事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12355542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com