gpt4 book ai didi

android - 异步运行一个方法

转载 作者:行者123 更新时间:2023-11-30 01:15:06 24 4
gpt4 key购买 nike

我想发现我的本地网络,我需要 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 秒的时间。

我的错误是什么?

最佳答案

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

关于android - 异步运行一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37966277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com