この関数はマルチスレッド状態でデッドロックを引き起こしますか?このコードの問題は何ですか?この関数はマルチスレッド状態でデッドロックを引き起こしますか?
このコードは、このプロキシは、(使用可能な場合は応答コードが200であるべきである)使用可能であるかどうかを判断するために、指定されたプロキシを介してウェブサイトに接続しよう。
しかし、この機能は、いくつかの時間では決してリターンをます。複数のスレッドがmutexを入力しようとすると
public static boolean verifyProxy(String ip, int port){
boolean useful;
try {
URL url = new URL(VERIFY_URL);
InetSocketAddress addr = new InetSocketAddress(ip, port);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
connection.setConnectTimeout(4 * 1000);
int rCode = connection.getResponseCode();
connection.disconnect();
useful = rCode == 200;
} catch (IOException e1){
logger.warn(String.format("verify proxy %s:%d exception: "+e1.getMessage(),ip, port));
useful = false;
}
logger.info(String.format("verify proxy %s:%d useful: "+useful, ip, port));
return useful;
}
私はそうは思わない...まだこの質問をhttps://codereview.stackexchange.com/ – Akshay
で聞くことができます。このコードの問題は何もわかりません。それ。 –
@JoeC正確に... @邓辉超あなたはコードやエラー(もしあれば)の詳細を提供する必要があります – Akshay