none
Threads, Loops Infinitos e desempenho RRS feed

  • Pergunta

  • Pessoal, estou construindo um conjunto cliente-servidor
    O servidor é em C# e o cliente é em C++ nativo.

    O meu servidor fica escutando uma determinada porta, aguardando a conexão de alguns clientes, o servidor também é multitarefa, podendo aceitar diversas conexões simultaneamente, porém estou com um problema muito preocupante, veja:
    Até agora usei duas threads as duas executam um laço de repetição infinito. A primeira thread(com o laço infinito) fica constantemente verificando se há novas conexões a serem aceitas, se existe alguma, ela adiciona a conexão em um List<TcpClient>, a segunda thread (também com loop infinito) fica constantemente verificando se essas conexões estão ativas, ou seja, se alguma delas não estiver, ele remove ela do List<TcpClient>.
    O meu problema é que quando fui monitorar o consumo de recursos da aplicação pelo gerenciador de tarefas, percebi que está consumindo incríveis 30% do meu processador (I5 4460 3.2 GHz). Estou achando esse consumo absurdo para uma aplicação relativamente simples.

    Laços de repetições infinitos consomem tanto assim? Ou o fato de usar Threads já contribui para esse consumo? Como eu poderia resolver este problema?
    domingo, 17 de julho de 2016 13:31

Respostas

Todas as Respostas