android有多少intent服务可以并行运行

android有多少intent服务可以并行运行,android,intentservice,Android,Intentservice,我有多个子类的IntentService。有谁能告诉我有多少这样的服务可以并行运行。感谢您可以从IntentService的不同子类并行启动任意数量的实例,但实际上只有N服务将在N不是设备核心的时刻运行,如果我们并行运行多个N服务,则它们的线程将在以下位置进行上下文切换:所有正在运行的服务将共享时钟时间。如果您启动了IntentService相同子类的多个实例,那么它们将串行运行,在这种情况下,您需要使用服务类而不是IntentService来实现并行执行。IntentService如果来自同一

我有多个子类的IntentService。有谁能告诉我有多少这样的服务可以并行运行。感谢

您可以从IntentService的不同子类并行启动任意数量的实例,但实际上只有N服务将在N不是设备核心的时刻运行,如果我们并行运行多个N服务,则它们的线程将在以下位置进行上下文切换:所有正在运行的服务将共享时钟时间。如果您启动了IntentService相同子类的多个实例,那么它们将串行运行,在这种情况下,您需要使用服务类而不是IntentService来实现并行执行。

IntentService
如果来自同一类,则不会并行运行。它们将按顺序运行。换句话说,如果您有一个名为
DownloadService
IntentService
从给定URL下载文件,那么您可以像这样运行它:

List<String> downloadUrls = getDownloadUrls();
Context ctx = getContext();
Intent baseIntent = new Intent(ctx, DownloadService.class);
for(String url : downloadUrls) {
  Intent downloadService = new Intent(baseIntent);
  downloadService.putString("downloadUrl", url);
  ctx.startService(downloadService);
}
List downloadUrls=getDownloadUrls();
Context ctx=getContext();
Intent baseIntent=新Intent(ctx,DownloadService.class);
for(字符串url:下载url){
意向下载服务=新意向(baseIntent);
putString(“downloadUrl”,url);
ctx.startService(下载服务);
}
将会发生的是
下载服务将启动一次。然后,第一个URL将被传递给它,它将开始下载。然后,在完成后,
DownloadService
将使用第二个url。然后是第三个,依此类推。它都是按顺序运行的

现在,您可以拥有第二个名为
UploadService
IntentService
,它同样可以将文件上载到给定的URL。如果使用不同的参数多次启动,它也将按顺序运行到每个调用但是,它将与
下载服务
并行运行,因为它们是两个独立的
服务


编辑:尽可能地限制数字。我肯定有一个,但是在你到达之前,你可能会耗尽内存(或者决定一百种不同的服务不是做事情的最佳方式)。

可以并行运行的线程数可以请你给出这个链接的数字吗?我从这个链接得到了数字128,这是您指的数字吗?或者,您能提供数字吗?可以并行运行的线程数取决于您的cpu拥有的内核数