Форум: "Сети";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
ВнизСинхронное или асинхронное соединение Найти похожие ветки
← →
Digitman (2002-01-22 15:06) [1]Асинхронный режим хорош простотой программного исполнения и применяется, когда клиент и сервер обмениваются короткими сообщениями в режиме "вопрос - время_ожидания_ответа - ответ", где время_ожидания_ответа стремится к нулю. в этом режиме сервер обрабатывает запросы всех своих клиентов последовательно, в осн.потоке, и , если время_ожидания_ответа допустимо мало, задержка с колучением ответов от сервера у каждого из клиентов сравнительно мало.
Синхронный режим (в случае с TServerSocket это - thread-blocking режим, т.е. мультипоточный с применением блокирующих WinsockAPI-вызовов на уровне потоков) хорош тем, что обработка сервером одновременных кл.запросов происходит параллельно, в разных ьпотоках, каждый из которых является индивидуальным транспортным потоком отдельного кл.соединения.
В первую очередь, такой режим нужен, когда время_ожидания_ответа значительно (к примеру, клиент запросил у сервера НД, формирование которого сервер выполняет запросом к СУБД и факт.время выполнения запроса относительно велико). Если бы сервер обрабатывал такие "навороченые" запросы последовательно, клиента за клиентом, в единственном кодовом потоке, то вместе с текущим клиентом прочие клиенты так же ждали бы, пока сервер обслужит его запрос и очередь обслуживания дойдет до них.
К слову сказать, все современные промышленные SQL-серверы являются мультипоточными (технология SuperServer), и обработка кл.запросов в них выполняется параллельно, в различных потоках, использующих, в т.ч. и как правило, блокирующие API-вызовы транспортного и других уровней
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c