2010-03-06 27 views
16

¿Cuáles son las aplicaciones prácticas de colas en informática? ¿Dónde los usamos y por qué? Escuché que los utilizamos en los videojuegos y en los programas de simulación por computadora, ¿es cierto? ¿Por qué? Además de estas dos áreas, ¿cuáles son otras aplicaciones prácticas de Colas como estructura de datos?¿Cuáles son las aplicaciones prácticas de Colas?

+2

¿Alguna vez esperó en una línea? Todo lo que tiene que esperar para un servicio, capacidad, etc. debe esperar en una línea o lo que los ingleses llaman una cola. – kenny

+0

Se utilizan cada vez que desea pasar algo en algún tipo de orden. –

+17

Tome su perfil, por ejemplo. Hay una cola de 20 preguntas que ha pedido, todas esperando que usted acepte respuestas para ellas. – skaffman

Respuesta

12

Las colas se utilizan para cualquier situación en la que desee mantener de manera eficiente un pedido de "primero en entrar, primero en salir" en algunas entidades. Estas situaciones surgen literalmente en todo tipo de desarrollo de software.

Imagine que tiene un sitio web que sirve archivos a miles de usuarios. No puedes atender todas las solicitudes, solo puedes manejar decir 100 al mismo tiempo. Una política justa sería servir por orden de llegada: sirva 100 a la vez por orden de llegada. A Queue definitivamente sería la estructura de datos más apropiada.

De forma similar, en un sistema operativo multitarea, la CPU no puede ejecutar todos los trabajos a la vez, por lo que los trabajos se deben agrupar y programar de acuerdo con alguna política. De nuevo, una cola podría ser una opción adecuada en este caso.

3

Todo tipo de sistemas, donde las solicitudes/trabajos/clientes son procesados ​​por uno o más manejadores: los elementos entrantes se almacenan en una cola y cuando un manejador está libre, saca un nuevo elemento de la cola y comienza a procesarlo . Este patrón se usa en todos los servidores web, entre otros. Ver producer-consumer problem.

8

Uso una cola para priorizar mi respuesta a las preguntas de SO. Intenté multiprocesarlos, pero hice un hash completo de eso.

+1

@ Marca de alto rendimiento Tal vez con dos monitores podría usar sus dos procesadores (también conocidos como hemisferios cerebrales) para procesar dos mensajes en paralelo ... pero la E/S todavía apestaría, por varias razones :-) –

+3

@ Péter Török: cómo ¿Sabías que tuve una lobotomía? –

3

Digamos que tiene que imprimir una cantidad de documentos a la vez. Su sistema operativo pone todos estos documentos en una cola y los envía a la impresora. La impresora toma e imprime cada documento en el orden en que se colocan los documentos en la cola, es decir, Primero en entrar, Primero en salir.

En caso de que haya varios usuarios o un sistema informático en red, probablemente comparta una impresora con otros usuarios. Cuando solicita imprimir un archivo, su solicitud se agrega a la cola de impresión. Cuando su solicitud llega al frente de la cola de impresión, su archivo se imprime. Esto garantiza que solo una persona a la vez tenga acceso a la impresora y que este acceso se otorgue por orden de llegada.

2

algoritmos y estructuras de datos están fuertemente apretados juntos
Así que, por lo general utilizando una cola depende del algoritmo que manipular la pila enqueuing y desencola
Que a su vez. depende de la aplicación

Por ejemplo, si está haciendo una aplicación, que aceptará la entrada de múltiples usuarios, y tiene que serverlos en base al "Primero que Vd. Primer Servicio" ... lo que significa que su aplicación servirá primero solicitar Primera
en lugar de cada vez que revise el sello de tiempo de cada solicitud, y ver quién es el más antiguo
se debe poner en cola cada solicitud entrante a una pila
y usted solo tiene que quitar de la cola de la pila cada vez para ver la siguiente solicitud

2

En una búsqueda de primer plano ("más superficial") de un gráfico, usaría una cola para almacenar los nodos a medida que los descubra.

1

en la computadora la compilación se realiza por FIRST IN FIRST OUT [FIFO] .primera línea compilar primero n resultado primero imprimir que es QUEUE.

3

Los usos típicos de colas están en simulaciones y sistemas operativos.

Operating systems often maintain a queue of processes that are ready to execute or that are waiting for a particular event to occur. 
Computer systems must often provide a “holding area” for messages between two processes, two programs, or even two systems. This holding area is usually called a “buffer” and is often implemented as a queue. 

Nuestras colas de software tienen contrapartes en colas del mundo real. Esperamos en cola para comprar pizza, ingresar a cines, conducir en una autopista y montar en una montaña rusa. Otra aplicación importante de la estructura de datos de la cola es ayudarnos a simular y analizar esas colas del mundo real.

17

Las pilas se usan para los botones de deshacer en varios softwares. Los cambios más recientes se incluyen en la pila. Incluso el botón de retroceso en el navegador funciona con la ayuda de la pila donde todas las páginas web visitadas recientemente se insertan en la pila.

Las colas se utilizan en el caso de las impresoras o la carga de imágenes. Donde el primero en ser ingresado es el primero en ser procesado.

+0

es una muy buena respuesta ... es resolver todas mis dudas.Gracias – Raham

+0

¡Respuesta muy práctica aquí, gracias! –

1

Las colas están utilizando el concepto primero en entrar primero en salir (FIFO). El primer trabajo en llegar es el primero en ser procesado. p.ej. OS pone en cola documentos para imprimir en una cola donde la impresora solo imprimirá el primer documento para llegar y dar salida

0

Game Application: Algoritmos que exploran laberintos de habitaciones interconectadas usan colas para realizar un seguimiento de las opciones que aún no se han explorado

1

Las colas también se pueden utilizar para implementar una primera búsqueda de ancho: un algoritmo que atraviesa todos los vértices en un gráfico que se puede alcanzar desde un vértice de inicio.

0

Proceso de la impresora para mantener. En la programación de la CPU. Como una política de reemplazo de página (FIFO).

Hay muchos ejemplos de la vida real que pueden ayudar a comprender mejor la cola. Por ejemplo, donde usamos una cola para obtener o dar algo.

Cuestiones relacionadas