Java 最大线程数

Java 最大线程数,java,android,multithreading,Java,Android,Multithreading,我想知道在Android设备上运行的线程是否有最大数量。它取决于设备的类型?正如@Xaver Kapeller所评论的,您可以创建任意数量的线程,但更多的线程实际上不是解决方案的一部分 处理器中的核心(CPU)在给定时间只处理一个任务(进程或线程) 因此,在处理器中,具有1个内核的处理器将一次处理一个线程。因此,从技术上讲,无论您为此处理器打开多少线程,它都将在给定时间为一个线程提供服务。所有正在运行的线程都将按顺序使用处理器,利用处理器的量子时间,而处理器的量子时间似乎只是并发的 具有2个内核

我想知道在Android设备上运行的线程是否有最大数量。它取决于设备的类型?

正如@Xaver Kapeller所评论的,您可以创建任意数量的
线程,但更多的
线程实际上不是解决方案的一部分

处理器
中的
核心
(CPU)在给定时间只处理一个
任务
进程
线程

因此,在
处理器中,具有1个内核的处理器将一次处理一个
线程。因此,从技术上讲,无论您为此
处理器
打开多少线程,它都将在给定时间为一个线程提供服务。所有正在运行的
线程都将按顺序使用处理器,利用处理器的量子时间,而处理器的量子时间似乎只是并发的

具有2个内核的处理器将一次处理2个线程(两个线程的并发执行)

具有4个核心的处理器将一次处理4个线程(并发执行4个线程)


具有8核的处理器将一次处理8个线程(并发执行八个线程。因此,安卓设备上可能运行的最大线程数取决于设备是32位处理器还是64位处理器。但在达到实际最大限制之前,内存会受到限制


正如文章中提到的,您可以运行测试来确定您可以在Android版本中创建的最大线程数。

技术上没有限制,但在某些情况下,拥有更多线程的效率将低于拥有更少线程的效率。如果您想看到
线程池的最佳实现,请查看so
AsyncTask
的urce代码。Lol您是否要求FTC?对于运行线程数大于内核数的IO绑定操作仍然是有益的,因为它们中的大多数可以并行等待。