Pergunta

Say I tem roteiro, que faz muito tempo de votação no servidor para verificar se o usuário tem quaisquer novos mesages. do lado do servidor seria algo como isto

while counter < 5
    if something_changed
        push_changes_to_client
        break
    else
        counter++
        sleep 5

Qual banco de dados 5 vezes e cada vez que se não houver uma mudança de cheques, ele espera 5s até que próxima verificação, o que resulta em tempo máximo de execução de cerca de 25s.

O que acontece ao passar o cliente de uma página para outra muito rápido? Suponho que o keep script de servidor em execução mesmo após o movimento cliente para página diferente, onde ele envia outro pedido de alterações.

Isso significa que, quando muitas pessoas estão se movendo rapidamente em torno do local (menos do que o 25s execução máximo em cada página), em seguida, o servidor tem que continuar correndo todos os scripts, que estão tentando responder a página que doesn 't existe mais? Não seria esta causa o servidor para usar tudo isso do pool de threads muito rápido?

Foi útil?

Solução

Em um modelo thread-per-conexão com chamadas sono síncronos, este fato pode amarrar um grande número de threads. No entanto, se o "sono" Simplesmente agenda uma chamada de retorno e retorna, o impasse pool de threads pode ser evitado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top