以异步方式运行方法

时间:2016-06-22 11:09:19

标签: android loops ping asynchronous

我想发现我的本地网络,我需要ping所有客户端!这需要时间!所以我想在几个线程中运行pinging进程来更快地执行此操作;这是我的尝试:

var test = "accesstoken=1&expires=452.";
var array = test.split("&");
alert(array[0]);

我希望已经创建了254个线程,并且异步完成它们的工作! 但是,不幸的是@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 * 3秒的时间。

我的错误是什么?

1 个答案:

答案 0 :(得分:1)

AsyncTask在后​​台使用线程池,默认值为5.因此最多可以并行运行5个线程。您可能需要查看managing your own thread pool