我有一个简单的应用程序,我在一个类中创建3个线程来ping 3个不同的网站,并注意这样做的时间。并行执行和终止多线程
我希望通过查看3个执行中的哪个线程成功执行并终止其他两个线程来增强它。
JDK的哪一类会对此有所帮助?如何 ?
示例代码平网站:
public static boolean pingUrl(final String address) {
try {
final URL url = new URL("http://" + address);
final HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.setConnectTimeout(1000 * 10); // mTimeout is in seconds
final long startTime = System.currentTimeMillis();
urlConn.connect();
final long endTime = System.currentTimeMillis();
if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println("Time (ms) : " + (endTime - startTime));
System.out.println("Ping to "+address +" was success");
return true;
}
} catch (final MalformedURLException e1) {
e1.printStackTrace();
} catch (final IOException e) {
e.printStackTrace();
}
return false;
}
你是如何ping网站的? – vandale
@vandale添加了示例代码 –
为了正确地终止线程,你必须中止'urlConn.connect()',我认为这是不可能的 – vandale