Java Android线程如何映射到内核线程?
确切地说,这不是一个编程问题,但我不知道有什么更好的地方可以问这个问题,所以这里是这样的:Android线程如何映射到内核线程 如果我在Android中创建一个线程,它会产生一个等价的内核线程吗?我找到了这个链接:,但我无法理解这家伙在说什么 接下来,如果我启动了太多的Java Android线程如何映射到内核线程?,java,android,linux,linux-kernel,Java,Android,Linux,Linux Kernel,确切地说,这不是一个编程问题,但我不知道有什么更好的地方可以问这个问题,所以这里是这样的:Android线程如何映射到内核线程 如果我在Android中创建一个线程,它会产生一个等价的内核线程吗?我找到了这个链接:,但我无法理解这家伙在说什么 接下来,如果我启动了太多的AsyncTasks(在内部通过生成JAVA线程来工作),它将如何在内核中生成相应的线程?会有一对一或多对一的映射吗?回答说,从内核线程到线程对象有一对一的映射。但是,AsyncTask对象的状态表示“任务在单个线程上执行以避免常
AsyncTasks
(在内部通过生成JAVA线程来工作),它将如何在内核中生成相应的线程?会有一对一或多对一的映射吗?回答说,从内核线程到线程
对象有一对一的映射。但是,AsyncTask
对象的状态表示“任务在单个线程上执行以避免常见的应用程序错误”,这是1对多
因此,如果生成1000个AsyncTasks
,那么将有一个内核线程运行一个运行1000个AsyncTasks
的userthread
。因此,您可以安全地生成大量的异步任务
,而不必担心线程效率。回答说,内核线程到线程
对象之间存在一对一的映射。但是,AsyncTask
对象的状态表示“任务在单个线程上执行以避免常见的应用程序错误”,这是1对多
因此,如果生成1000个
AsyncTasks
,那么将有一个内核线程运行一个运行1000个AsyncTasks
的userthread
。因此,您可以安全地生成大量的异步任务
,而不必担心线程效率。启动java/用户线程时,内核线程会自动生成。用户级线程和内核级线程之间通常会有1对1的映射。这就是为什么有人说,为了获得最佳性能,在PCSo中使用与逻辑处理器数量相同的线程,比如说,我生成了1000个asyncTask,那么还会生成1000个内核线程吗?(生成1000个异步任务非常容易,尤其是在加载图像时)答案可能因实现而异。但我认为,对于这一特殊情况,答案是“不”。在内核级可以创建多少线程总是有一个上限。重复使用相同的内核级线程。有用链接:启动java/用户线程时会自动生成内核线程。用户级线程和内核级线程之间通常会有1对1的映射。这就是为什么有人说,为了获得最佳性能,在PCSo中使用与逻辑处理器数量相同的线程,比如说,我生成了1000个asyncTask,那么还会生成1000个内核线程吗?(生成1000个异步任务非常容易,尤其是在加载图像时)答案可能因实现而异。但我认为,对于这一特殊情况,答案是“不”。在内核级可以创建多少线程总是有一个上限。重复使用相同的内核级线程。有用链接: