>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

As vantagens de uma fila (queue) em estrutura de dados

Uma estrutura de dados é um método de organizar informações. Essas estruturas incluem arquivos, listas, arrays, árvores, registros e tabelas. Filas estão relacionadas a listas ordenadas. Com a fila, novos dados são colocados no final da estrutura, e as remoções ocorrem no início. O primeiro dado inserido é o primeiro removido (FIFO). Com filas, os dados não permanecem na estrutura tanto tempo quanto com pilhas (stacks). Filas podem ser comparadas a filas em lojas, onde a primeira pessoa na fila é a primeira a ser atendida.

Múltiplos Clientes

Embora filas sejam mais complexas que pilhas, o array facilita colocando o elemento mais novo no final e movendo cada elemento um passo quando um dado é removido. Filas são úteis quando múltiplos consumidores compartilham um processo. Por exemplo, um site pode ter espaço limitado para permitir downloads de um arquivo. Com uma pilha, algum consumidor poderia esperar muito mais que os mais novos. Filas também são úteis quando o cliente não necessariamente recebe os dados no mesmo momento em que são enviados.

Filas Circulares

Filas podem levar a espaços vazios na estrutura, pois um array maior é necessário que o total de dados. Programadores podem usar filas circulares para aproveitar o espaço vazio. Podem configurar timeouts onde jobs aguardam até a entrada chegar à fila.

Velocidade

Filas de dados são um método rápido de comunicação entre processos. Filas liberam jobs de realizar algum trabalho, o que pode levar a melhor tempo de resposta e melhoria geral no desempenho. Filas servem como a forma mais rápida de comunicação assíncrona entre duas tarefas diferentes, pois há menos overhead que com arquivos de banco de dados e áreas de dados.

Flexibilidade

Filas são flexíveis, não exigindo programação de comunicação. O programador não precisa de conhecimento de comunicação entre processos. Filas permitem que computadores lidem com múltiplas tarefas. A fila pode permanecer ativa quando não há entradas, pronta para processar quando necessário.

Múltiplos Jobs

Alguns jobs têm restrições de desempenho e não conseguem lidar com todas as entradas, então as entradas são distribuídas entre múltiplos jobs. Por exemplo, apenas um atendente de suporte pode ajudar um cliente por vez, então a fila distribui solicitações entre os atendentes para processamento mais rápido.