2013-08-11 1 views
1

Каковы некоторые способы выполнения многоядерных программ на Android, является ли это, что Async-Tasks и темы сами использовали несколько ядер или нам нужно вызвать некоторые API, чтобы обеспечить их соблюдение?Каковы некоторые способы сделать многоядерное программирование на Android, а не только многопоточным?

+4

многопоточность должна автоматически использовать многоядерные процессоры, операционная система позаботится об этом. Вы не можете обеспечить это самостоятельно. – bas

ответ

-1

Использование многопоточности для использования нескольких ядер, поскольку операционная система android и вертлужная машина Dalvik (DVM) управляют многозадачностью и используют многоядерные процессоры, когда они в ней нуждаются, поэтому вам не нужно использовать какой-либо Api. Чтобы узнать больше о них, скачайте this pdf.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Eran

+0

Благодарим вас за предложение, но, пожалуйста, воздержитесь от этого вопроса. У меня есть вопрос запрет, пожалуйста, помогите мне .. – Prakhar

+0

Если вы расширите свой ответ, вы получите надпись! –

7

Вам не нужно использовать какой-либо API. Операционная система и виртуальная машина Dalvik планируют выполнение потоков на доступных ядрах.

1

Мне нравится этот блог на Dev сайте QUALCOMM, так как Qualcomm глубоко в аппаратные сердечников сторону вещей для Android: https://developer.qualcomm.com/blog/multi-threading-android-apps-multi-core-processors-part-1-2 и https://developer.qualcomm.com/blog/multi-threading-android-apps-multi-core-processors-part-2-2

TL; DR - Нет API, нужно, просто сделать чистую распараллеливание с использованием различных Остальные могут сделать конструкции Android, такие как AsyncTasks, Java Threads и IntentService, а также ядра Dalvik-Linux. Немного хороших его частей здесь:

Может ли мое однопоточное приложение извлечь выгоду из нескольких ядер? Как?

Даже однопоточное приложение может извлечь выгоду из параллельной обработки на разных ядрах. Например, если ваше приложение использует медиасервер , тогда обработка мультимедиа и ваша логика приложения могут работать на разных ядрах одновременно. Кроме того, сборщик мусора может работать на другом ядре.

Как написать код, который использует несколько ядер?

Чтобы реализовать максимальный потенциал доступной вычислительной мощности на многоядерных устройствах , напишите свое приложение с учетом параллелизма. Приложение должно быть спроектировано таким образом, чтобы выполняемые задачи были настроены для работы на отдельных потоках.

Также ответы здесь: does single thread application utilize multi core in android? особенно тот, кто анализирует перфект, как приложения с синхронной резьбой могут использовать мультикоры.

Мне также нравится this от AT & T, относящийся к специфике многоядерного кодирования в самом Dalvik. Они используют образ Mandelbrot set, чтобы объяснить, что круто с обратными ссылками на сайт Android dev для многопоточности.

Смежные вопросы