Android多核开发

Android多核开发,android,multithreading,android-3.0-honeycomb,multicore,Android,Multithreading,Android 3.0 Honeycomb,Multicore,因此,我想知道在哪里可以找到一些关于如何为第二个核心指定特定任务的教程/示例,或者这是否可能。我正在为蜂窝平板电脑构建一个应用程序,如果第二个核心可用,每次有人键入edittext时,我都想做一些重字符串解析。我试过谷歌,但除了关于多核机器人的新闻外,我什么都找不到。我认为没有办法在代码中说明这一点。线程调度程序将自己负责使用多核。我认为没有办法在代码中指定。线程调度程序将自行处理使用多核的问题。如果您的UI没有响应,它通常只意味着您正在UI线程中执行不应该在那里执行的工作。因此,实际上是在单独

因此,我想知道在哪里可以找到一些关于如何为第二个核心指定特定任务的教程/示例,或者这是否可能。我正在为蜂窝平板电脑构建一个应用程序,如果第二个核心可用,每次有人键入edittext时,我都想做一些重字符串解析。我试过谷歌,但除了关于多核机器人的新闻外,我什么都找不到。

我认为没有办法在代码中说明这一点。线程调度程序将自己负责使用多核。

我认为没有办法在代码中指定。线程调度程序将自行处理使用多核的问题。

如果您的UI没有响应,它通常只意味着您正在UI线程中执行不应该在那里执行的工作。因此,实际上是在单独的线程中完成工作(甚至创建许多线程来完成工作)。好的线程使UI保持流畅,无论有多少内核


在Android中,您可以使用AsyncTask、Java线程或服务来完成您的工作。

如果您的UI没有响应,这通常意味着您正在UI线程中完成您不应该在那里完成的工作。因此,实际上是在单独的线程中完成工作(甚至创建许多线程来完成工作)。好的线程使UI保持流畅,无论有多少内核


在Android中,您可以使用AsyncTask、Java线程或服务来完成您的工作。

为什么您会关心它是第二个代码还是一个非常非常快的核心?你认为这个问题是完全错误的。它将解析大量信息,对照其他单词数组检查每个单词。因此,我不希望UI没有响应,因为它正在解析一个大文件。我在VisualStudio中制作的一个程序中遇到了类似的问题。我不得不解析一个43k行的文本文件并将它们插入数据库,用户界面冻结了。加入另一个线程来处理解析,它工作得很好。我想确保UI保持响应性,不会变得迟钝。那么你的问题是,“如何在低优先级线程中工作以保持UI的响应性?”不。在C中,你可以为独立内核编程。如果您知道正在使用的系统有多个内核,则可以指定要在哪个内核上运行代码。我想知道这是否有可能。如果没有,那么辩论就结束了。如果您已经看到该脚本在不同线程中执行的操作,并且有时速度慢且无响应(进程本身,而不是UI)。如果不可能的话,那我就得想些别的办法。但是,最理想的情况是,我希望它在第二个内核上运行,无法指定代码在哪个内核上运行。您需要使用
sched\u setaffinity()
,这需要
CAP\u SYS\u NICE
,而应用程序没有。正如其他人所注意到的,Linux调度程序将为您解决这个问题——如果您有两个繁忙的线程,它们将在不同的内核上运行。如果有两个线程轮流忙碌,它们将在同一个内核上运行。其动机是允许关闭核心,以提高电池寿命。。。如果有4个内核全速运行,那么没有一款设备能运行很长时间。为什么你会在意它是第二个代码,还是只有一个内核速度非常非常快?你认为这个问题是完全错误的。它将解析大量信息,对照其他单词数组检查每个单词。因此,我不希望UI没有响应,因为它正在解析一个大文件。我在VisualStudio中制作的一个程序中遇到了类似的问题。我不得不解析一个43k行的文本文件并将它们插入数据库,用户界面冻结了。加入另一个线程来处理解析,它工作得很好。我想确保UI保持响应性,不会变得迟钝。那么你的问题是,“如何在低优先级线程中工作以保持UI的响应性?”不。在C中,你可以为独立内核编程。如果您知道正在使用的系统有多个内核,则可以指定要在哪个内核上运行代码。我想知道这是否有可能。如果没有,那么辩论就结束了。如果您已经看到该脚本在不同线程中执行的操作,并且有时速度慢且无响应(进程本身,而不是UI)。如果不可能的话,那我就得想些别的办法。但是,最理想的情况是,我希望它在第二个内核上运行,无法指定代码在哪个内核上运行。您需要使用
sched\u setaffinity()
,这需要
CAP\u SYS\u NICE
,而应用程序没有。正如其他人所注意到的,Linux调度程序将为您解决这个问题——如果您有两个繁忙的线程,它们将在不同的内核上运行。如果有两个线程轮流忙碌,它们将在同一个内核上运行。其动机是允许关闭核心,以提高电池寿命。。。如果有4个内核全速运行,任何设备都无法长时间运行。