2017-01-21 2 views
-1

Почему это хорошая идея для сервера для создания потоков для обработки запросов клиентов ?Почему хорошая идея для сервера создавать потоки для обработки запросов клиентов?

+1

Таким образом, весь сервер не останавливается на одном запросе. Вы понимаете многопоточность в целом? – Carcigenicate

+1

@ carcigenicate то, что я понимаю: на мой взгляд, хорошая идея для сервера создавать потоки для запросов клиентов, чтобы одновременно обрабатывать несколько клиентов, избегая проблем с синхронизацией, , поскольку блокировка может быть помещена в критический раздел каждого тем самым избегая другого потока, чтобы войти в критический раздел одновременно. – inzefinite

+1

Вы, кажется, понимаете преимущество. Я не понимаю, что вы спрашиваете, потому что, похоже, вы просто ответили на свой вопрос. – Carcigenicate

ответ

1

Это потому, что каждый запрос может занять различное время для выполнения, а также может включать в себя сны, ожидания и т. П.

Так что, имея потоки, обрабатывающие запросы, будет использовать процессор намного лучше, чем выполнять их последовательно. Когда один поток обрабатывает запросы, которые ждут или спит, другой поток займет свое место и будет работать над его запросом.

1

Просто ответьте: потому что он помогает вам зарабатывать больше денег; поскольку это позволяет лучше использовать серверное оборудование.

Основная причина заключается в следующем: при обработке запроса от одного пользователя всегда бывают ситуации, когда вам просто нужно ждать. Так почему бы не обработать запрос от пользователя B; пока вы ждете, что данные, полученные от пользователя A, записываются в базу данных, например ?!

Помимо этого, потоки являются очень «естественной» моделью для разработки (и реализации) того факта, что ваш сервер обслуживает множество разных клиентов в тот же момент времени.