Помогите Диме помочь помогать помочь помогать

Азартмания

01.08.2016


Иногда важно знать, будут ли задачи выполняться последовательно или параллельно, особенно если они зависят от заданного порядка или если требуется безопасность потоков, обеспечиваемая последовательным выполнением. Задачи, запускаемые вызовом executed, выполняются последовательно, тогда как executeOnExecutor () может работать со средой параллельного выполнения Executor. Но метод executeOnExecutor 0 впервые появился в версии API level 11 (Honeycomb). В данном разделе описано все, что необходимо знать для использования Азартмания в разных версиях платформы.


В самых первых версиях выполнение всегда было последовательным, но для увеличения производительности в версии API level 4 метод execute 0 был изменён для параллельной обработки задач. К сожалению, задачи, требующие определённого порядка выполнения или обеспечения безопасности потоков, при работе в среде без соблюдения порядка выполнения и без поддержки безопасности потоков могли завершаться аварийно. Поэтому в версии API level 11 программный интерфейс был расширен методом executeOnExecutor 0, а начиная с версии API level 13 методу execute 0 была возвращена возможность только последовательного выполнения для восстановления безопасного режима работы, как в версиях 1-3. Метод executeOnExecutor!) поддерживает создаваемые и настраиваемые разработчиком реализации Executor, которые могут быть использованы для параллельного выполнения.