множественная обработка в реализации WinCE6.0 или DMA - PullRequest
1 голос
/ 11 апреля 2011

в моем приложении я хочу выполнить задачу параллельно, так как один поток будет выполнять вычисления, а другой будет выводить данные на экран, но во время рисования процессор данных включается и в течение этого времени он не может обрабатыватьданные разных потоков.я запускаю оба потока выше нормальных приортов.Есть ли какой-нибудь способ, которым я мог бы рисовать параллельно, чтобы измерительная нить могла выполнять вычисления с той скоростью, не затрагивая рисованную нить.Я слышал, что какой-то один DMA может решить эту проблему, но как его реализовать на платформе WINCE6.0, я понятия не имею.

Просьба предоставить любой указатель

Мукеш

1 Ответ

0 голосов
/ 11 апреля 2011

Не знаю, как DMA «решит» эту проблему - вы используете одно процессорное ядро, которое может одновременно выполнять только один набор инструкций. DMA не изменит этого.

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

1) отрегулируйте приоритет вашего более важного потока, чтобы у планировщика было больше времени на его работу.

или

2) настроить размер потока для ваших потоков, чтобы планировщик чаще переключался между потоками.

...