ческим интерфейсом).
Windows выделяет каждому приложению отдельный
737
Причины.использования.потоков
поток, чтобы зацикливание одного приложения не мешало работе других. Ана-
логичным образом в клиентских приложениях с графическим интерфейсом
можно выделить часть работы в отдельный поток, чтобы интерфейс продолжал
реагировать на действия пользователя. Вероятно, в этом случае количество по-
токов превысит количество ядер, что обернется лишними затратами системных
ресурсов и снижением производительности. С другой стороны, пользовательский
интерфейс быстрее реагирует на действия пользователя, улучшая его впечатле-
ния от работы с приложением.
Производительность (для клиентских и серверных приложений).
Так как
система Windows может планировать по одному потоку на процессор, а про-
цессоры могут исполнять потоки одновременно, параллельное выполнение
нескольких операций улучшит производительность приложения. Конечно,
улучшение достигается только в том случае, если приложение выполняется
на машине с несколькими процессорами. Впрочем, такие компьютеры в наше
время уже достаточно распространены. Вопросы создания приложений, предна-
значенных для работы в многопроцессорной конфигурации, рассматриваются
в главах 27 и 28.
А теперь я хотел бы поделиться с вами своей теорией. Итак, каждый компью-
тер снабжен таким мощным инструментом, как процессор. И если вы покупаете
компьютер, он должен работать все время. Другими словами, я считаю, что все
процессоры в машине должны использоваться на 100 %. Впрочем, тут нужно
сделать две оговорки. Во-первых, при питании от аккумулятора 100-процентное
использование процессора сократит время работы с машиной. Во-вторых, в не-
которых центрах обработки данных предпочитают иметь десять компьютеров с
процессорами, работающими на половинной мощности, вместо пяти, процессо-
ры которых загружены на 100 %. Дело в том, что полностью загруженный про-
цессор выделяет тепло, а значит, требует системы охлаждения. Однако питание
такой системы может оказаться более затратным делом, чем питание большего
количества компьютеров, работающих на меньшей мощности. Впрочем, наличие
большого количества компьютеров тоже значительно повышает издержки, ведь
каждый из них требует периодического обновления аппаратного и программного
обеспечения.
Теперь, если вы согласны с моей теорией, нужно определиться с тем, какие за-
дачи должен решать процессор. Но сначала — небольшое вступление. В прошлом
как разработчики, так и конечные пользователи считали, что мощность компью-
теров недостаточна. И поэтому код не выполнялся, пока конечный пользователь
не давал на это разрешения при помощи таких элементов интерфейса, как пункты
меню, кнопки и флажки, тем самым явно показывая, что согласен предоставить
приложению необходимые ресурсы процессора.
Сейчас все изменилось. Современные компьютеры достаточно мощны и в бли-
жайшем будущем могут стать еще более мощными. Как я уже упоминал в этой
главе, часто в окне Диспетчера задач можно видеть, что процессор занят 5 % вре-
738
Do'stlaringiz bilan baham: |