gpt4 book ai didi

java - 什么会导致 "harmless"Java 命令序列挂起?

转载 作者:行者123 更新时间:2023-12-01 05:40:41 25 4
gpt4 key购买 nike

其中一个构造函数具有以下命令序列:

log.info("A new session of the game started.");
clientsListener = new ClientsListener(earPort, userName, players, this);

在日志文件中,我有代码第一行生成的语句。 ClientsListener 的构造函数的编写方式如下:

public ClientsListener(int earPort, String userName, String[] players, Game game) {
this.earPort = earPort;
this.userName = userName;
this.players = players;
this.game = game;
ServiceBrowser browser;
for (String playerName: players) {
String serviceType = "_" + playerName + "._tcp.";
browser = BrowsersGenerator.getBrowser(serviceType,game);
browser.post(userName + ":infoRequest=infoRequest");
}
}

BrowsersGenerator.getBrowser 具有以下简单的命令序列:

public static ServiceBrowser getBrowser(String serviceType, Game game) {
if (!name2browser.containsKey(serviceType)) {
name2browser.put(serviceType, new ServiceBrowser(serviceType, game));
}
return name2browser.get(serviceType);
}

在上面的方法中,我实例化了ServiceBrowser。该类的构造函数是:

public ServiceBrowser(String serviceType, Game game) {
this.serviceType = serviceType;
this.game = game;
status = "notActivated";
}

然后,在 ClientsListener(代码的第二 block )的构造函数中,我调用 browser.post。该方法的第一行包含以下内容:

game.log.fine("We entered the post method");

日志文件中没有这条语句。因此,软件会在两次尝试写入日志文件之间的某个位置挂起。我无法弄清楚代码的坏疽部分在哪里。对我来说,一切似乎都保存下来了。主要问题是我无法重现该问题。这种情况非常罕见,而且我只有一个日志文件可供分析。有人可以帮我吗?

最佳答案

如果 browser.post() 按照它所说的去做,一切都可能发生。但最有可能的是,您的程序在等待某些防火墙未给出的响应时挂起。

关于java - 什么会导致 "harmless"Java 命令序列挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7270264/

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