【发布时间】:2016-06-22 11:09:19
【问题描述】:
我想发现我的本地网络,我需要 ping 所有客户端!这需要时间!所以我想在多个线程中运行 ping 进程以更快地执行此操作;这是我的尝试:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// For example
// host = "192.168.1.";
for (int i = 1; i < 255; i++) {
String ip = host + i;
new Pinging().execute(ip);
}
}
private class Pinging extends AsyncTask<String, String, Void> {
@Override
protected Void doInBackground(String... params) {
String ipAddress = params[0];
Log.d("test", "Pingng " + ipAddress);
// Ping method
return null;
}
}
我希望已经创建了 254 个线程并异步完成它们的工作!
但是,不幸的是for 的循环命令需要大约 254 * 3 秒的时间。
我的错误是什么?
【问题讨论】:
标签: android loops ping asynchronous