1
私のローカルネットワークを発見したいと思います。私はすべてのクライアントに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秒かかる。
私の間違いは何ですか?