| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
imarban
Registrado: 13 Abr 2013 Mensajes: 1
| Publicado: 13/04/2013 2:23 pm | | | Título: Programación Hilos Comunicaciones en Red |
| Hola a todos
Este es mi primer post en el foro y es una consulta sobre un programa que me han dado en la Universidad y que no logro entender del todo.
El programa se trata de implementar el algoritmo de bucketsort en C con programación con hilos.
Esta es la especificación del programa:
Implentar el algoritmo bucketsort para ordenar una lista de 3000 números aleatorios de la siguiente manera:
1. El usuario elegirá el número 'n' de servidores (hilos) de ordenamiento a utilizar
2. Dado un arreglo con 3000 números aleatorios, la aplicación cliente deberá separar el arreglo en n cubetas (arreglos) en donde solo haya números dentro de un rango determinado.
3. Cada cubeta se enviará a uno de los n servidores (hilos) para su ordenamiento.
4. Una vez ordenadas las cubetas (con algún algoritmo de ordenamiento, cualquiera) serán devueltas al cliente y esté las colocará de nuevo en el arreglo original (ya ordenado) *enviar a un archivo
Mi duda, no es con código, sino con el orden.
¿Cómo lo harían? Primero el cliente se conecta al servidor, le manda cuántos hilos crear, el servidor los crea y ¿después?
Gracias por la ayuda y saludos  |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 7516 Ubicación: Mexico
| Publicado: 14/04/2013 7:17 am | | | Título: |
| Hola
Bienvenido a los foros. Por favor lee sus reglas.
Me parece que los pasos están bien explicados. En el programa al hilo principal lo llaman "cliente" y cada uno de los hilos que este crea se le llama "servidor". Solo eso.
Lo que debes hacer en términos generales es:
1) Creas una aplicación, su hilo principal debe pedir de forma interactiva el numero de hilos a crear mediante la lectura de la entrada estándar (por ejemplo con scanf).
2) El hilo principal genera todos los números aleatorios y los separa en arrays (cubetas).
3) Por cada cubeta se crea un hilo que ordenara el contenido.
4) Una vez terminen todos los hilos el hilo principal copia todo de nuevo al array y lo envía a un archivo.
Como implementar cada uno de los pasos depende del compilador y SO que estés utilizando. Supongo es una practica sobre POSIX, ¿Correcto?
Un saludo _________________ C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |