Если приложение выполняет какую-либо операцию, занимающую много времени (более
нескольких секунд), например, очень большой цикл с медленными операциями, то,
во-первых, необходимо периодически (хотя бы раз в секунду), вызывать Application.ProcessMessages,
позволяющую Windows заниматься своими обычными делами и, во-вторых, периодически
проверять значение поля Application.Terminated, чтобы узнать, не завершил ли
пользователь ваше приложение, не дождавшись результатов его работы. Поле Terminated
приобретает значение True в тех случаях, когда пользователь закрывает главное
окно программы или из программы вызывается Application.Terminate. Кроме того,
следует учитывать, что установившиеся де-факто стандарты на интерфейс требуют
отображения текущих результатов работы (легче всего это сделать с помощью компонента
TProgressBar), либо, если это по каким-либо причинам невозможно (например, при
выполнении SQL-запроса), просто отображения движущегося изображения, в символической
форме демонстрирующего суть происходящего процесса (компонент TAnimate).
Тестирование параллельного программного обеспечения представляет собой более
сложную задачу по сравнению с тестированием последовательной программы. Программист
должен знать о подводных камнях при тестировании параллельного кода, имеющихся
методологиях и инструментарии.
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее
реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности,
достоинства и недостатки.