[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: RES: MICO e' "reentrant"?



On Tue, Mar 26 2002 at 06:56:20pm -0300, Roberto Pires de Carvalho wrote:
> hum, talvez ter uma thread para cada envio de mensagem seja muito
> overhead pro servidor

Na verdade, pensei em uma thread por usuario; aquela thread e'
"responsavel" por ir enviando as mensagens para aquele usuario; se o
usuario nao esta' la', a thread uma hora desiste do cara e sai. Nao e'
bonito, mas resolve o problema de timeout e e' mais simples de implementar
do que o que voce sugere abaixo.

> acabaria gastando tanto tempo quanto o envio serial se houver uma
> quantidade razoável de salas e usuários.

Hmmm, isso acho que nao; as threads estariam em estado bloqueado quase
100% do tempo. O problema e' que cada thread consome um pouco de memoria,
e o kernel tem um limite de processos rodando, e, no linux, nesse limite
entram as threads tambem.

> uma forma mais bonita seria implementar uma fila de mensagens. Numa
> ponta as mensagens enviadas pelos usuários săo adicionadas ŕ fila, e na
> outra ponta uma quantidade limitada de threads ficam verificando se
> existem mensagens a serem enviadas para os usuários

eu ja' tinha pensado nisso, mas achei que implementar daria muito
trabalho; mas agora me ocorreu um jeito que deve ser bom :-)

Mas o meu problema "basico" continua: o MICO pode funcionar sem problemas
num programa multithreaded?

Ate' +
Nelson