Вопреки существующей тенденции, операционная система Windows Phone 7, которая должна выйти в конце текущего года, не будет являться многозадачной средой в полном смысле этого слова.
В Microsoft посчитали, что в многозадачности, которая является одной из самых ожидаемых пользователями функций, нет необходимости, сообщает Softpedia. Приложения, запущенные пользователями, будут делиться на две глобальные категории – от сторонних разработчиков и от Microsoft. Те из них, что будут предложены софтвенным гигантом, смогут работать в фоновом режиме, тогда как продукты от других компаний – нет.
Пока системе не потребуются дополнительные ресурсы, работа сторонних программ в Windows Phone 7 будет приостановлена. В случае если пользователь повторно обратится к какому-либо из этих приложений, то оно возобновит работу. Идея, которая была озвучена в блоге известного программиста
Дуга Боулинга (Doug Boling), заключается в том, что приложения для Windows Phone 7 могут быть многопоточными.
Главный поток такого приложения будет связан с пользовательским интерфейсом, а остальные потоки получат статус рабочих или фоновых. При переходе в фоновый режим, основной поток приостанавливает свою деятельность, в то время как рабочие продолжают функционировать.
Дуг Боулинг отмечает, что хотя в Windows Phone 7 не будет реализована реальная многозадачность, приложения смогут использовать некоторые фоновые вычислительные ресурсы, когда они имеются с запасом.
Ограничивая степень использования ресурсов, Microsoft требует от разработчиков взяться за оптимизацию своих продуктов. Если в программах будет реализовано разделение на потоки, то они смогут более эффективно использовать ресурсы. С другой стороны, этот механизм будет обеспечивать только приостановление (WindowsPhoneEvents.Pause) при нажатии на кнопки Windows или "Поиск", или возобновлении (WindowsPhoneEvents.Resume) при нажатии на кнопку "Назад" выполнения потока. Ни о каком завершении (Application_Exit) или начале (Application_Startup) работы в данном случае речи не идет. Разработчикам необходимо будет добавить обработчики для этих событий в своих продуктах.