Как сохранить отзывчивость одной части приложения, когда другие не так? - PullRequest
0 голосов
/ 07 декабря 2010

Я часто использую сеансы RDP, и я заметил, что, даже если сервер, к которому я подключаюсь, работает медленно или дает сбой, само окно / панель инструментов RDP полностью отзывчиво / кликабельно.Вероятно, это связано с тем, что окно RDP представляет собой один процесс, а реальный сервер является отдельным - или нет?

Есть ли в разработке методика, позволяющая добиться такого рода плавности в приложении?

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 декабря 2010

Вероятно, это не два отдельных процесса, а два отдельных потока. Поток чем-то похож на подпроцесс.

Существуют приложения, использующие более одного процесса, такие как Windows Explorer и Google Chrome. Каждое окно или вкладка имеет отдельный процесс. Существует один процесс, отображающий его, но отдельные процессы управляют его содержимым. В основном это делается из-за возможных нестабильностей. Когда происходит сбой процесса, закрывается все приложение, включая все его потоки. Размещая логику в отдельных процессах, приложение остается живым, когда одно из окон выходит из строя. Программировать многопоточное приложение немного сложнее, но намного сложнее разработать многопроцессорное приложение с одним окном, подобное этому.

0 голосов
/ 07 декабря 2010

Самая важная вещь, которую вы можете сделать, чтобы поддерживать отзывчивость интерфейса, - это минимизировать объем работы, выполняемой в потоке интерфейса.Это означает, что при любой серьезной обработке, которую вы должны выполнить, вы порождаете поток (или используете пул потоков) для разгрузки работы, чтобы поток пользовательского интерфейса мог вернуться к обработке пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...