В этой статье я глубже опишу мир
многопоточности, а также опишу некоторые способы снижения сложности при
разработке многопоточных приложений.
J2EE Одной из технологий приложений, с которой многие из вас
знакомы, по крайней мере, мимоходом, - это J2EE. J2EE – это среда,
используемая во многих случаях для создания приложений уровня
предприятия. Приложения, созданные с помощью технологии J2EE, легко
могут использовать преимущества многоядерных процессоров. Более того,
данная технология позволяет легко воспользоваться преимуществами
кластеров из большого количества машин, в каждой из которых будет
несколько процессоров, каждый из которых, в свою очередь, может иметь
несколько ядер. Использование J2EE для приложений предприятия
позволяет разработчику писать приложение, не слишком много думая о
потоках; в этом сила J2EE. Приложения J2EE делаются многопоточными
изменением настроек, находящихся на сервере приложения; при этом
многопоточность управляется контейнером.
Как это происходит? В сущности, бизнес-логика может быть закодирована и
затем размещена на сервере в логическом контейнере. Затем настройки
контейнера определят, как много экземпляров определенной части
бизнес-логики может быть запущено одновременно. Контейнер также
определяет, сколько соединений с ресурсами (например, базами данных)
можно провести одновременно. С этими свойствами, управляемыми
контейнерами, иногда довольно сложно работать, но они дают возможность
отделить многопоточность от самого кода приложения. Это хорошо потому,
что позволяет применять многопоточность в зависимости от железа без
изменения кода приложения. Замены оборудования предприятия – довольно
частая вещь: к кластеры могут подключаться новые машины, могут
добавляться или убираться процессоры из машин в кластере, и каждое из
этих изменений влияют на возможности многопоточности приложений.
|