C++ BUILDER VI UNIDAD MULTIPROCESAMIENTO

C++BUILDER TEMA I INTRODUCCION


Uno de los elementos o aspectos mas usados y aprovechados por todos los usuarios de Windows, es la propiedad que tiene Windows de realizar múltiples tareas a la vez, es con esta característica por la que se puede tener abiertas tres o mas ventanas a la vez y cada una de ellas realizando su propia tarea, por ejemplo se puede estar checando ortografía en una ventana de word, al mismo tiempo buscando un ítem en una columna muy grande de excel, y a la vez dos o mas ventanas de netscape están bajando software, etc.

Esta capacidad de MULTIPROCESAMIENTO ha sido muy poco aprovechada en los ambientes de programación, C++Builder hace fácil la tarea de construir programas o aplicaciones que tomen ventaja de esta capacidad.

Una de las principales razones de este problema, es que los ingenieros de software (programadores) todavía están muy acostumbrados a razonar los programas o aplicaciones como un conjunto secuencial y finito de procesos, donde la ejecución de uno de ellos depende enteramente de la ejecución de los anteriores.

Es mejor y necesario considerar un programa o aplicación, como un conjunto de objetos interactuando entre si, desde este punto de vista, algunos o muchos de los objetos pueden tener su propia existencia y tiempo de ejecución en forma autónoma e independiente del resto de los demás.

Por ejemplo en una aplicación cualquiera, existirán objetos que efectivamente dependan de la terminación de la funcionalidad de otro objeto, pero es claro que también existirán partes u objetos con una finalidad propia e independiente de los demás, estos últimos son candidatos para convertirse en objetos de tipo multiproceso, es decir objetos que se ejecutan ya no en forma secuencial sino concurrente es decir al mismo tiempo que los demás.

Ejemplo de ellos, se puede construir un objeto cuya función sea exclusivamente a localizar u dato en una tabla o base de datos muy grande, en este caso, el programa principal solo tendrá que ir creando instancias de este objeto y mandarle su parámetro de búsqueda, de esta manera se podrán hacer muchas consultas al mismo tiempo a la tabla, sin tener que esperar que termine una consulta, para empezar otra.

Una situación similar seria múltiples reportes de impresión, donde cada uno de ellos seria un hilo de un proceso.

Mas ejemplos:

- Un objeto que este generando continuamente números aleatorios

- Un objeto reloj

- Un objeto que este desplegando dos o mas imágenes muy similares continuamente(30 frames o imágenes por segundo y se tiene una película)

- Un objeto que este actualizando continuamente una base de datos

- etc. ( este etc. es problema sugerido)

C++Builder, recomienda solo hasta 16 procesos ejecutándose concurrentemente a la vez.

Politica de Privacidad