Concurrencia
Programación paralela y distribuida
Introducción
En muchas ocasiones, los programas realizan una gran cantidad de tareas. Si consideramos que hay que esperar a queuna tarea sea completada para comenzar la siguiente, el tiempo de ejecución es alto. Si además pensamos en que algunas tareas son realmente extensas la situación se complica.
IntroducciónAfortunadamente tenemos ciertas herramientas de programación que nos permiten reducir dicho problema. En ciertos lenguajes podemos aprovechar el hecho de que algunas tareas son independientes para ejecutarlasal mismo tiempo y así poder mejorar el rendimiento.
Concurrencia
En la programación concurrente podemos indicar que ciertas partes del código se ejecutarán concurrentemente en forma desubprocesos. La concurrencia es la forma en la que un programa puede ejecutar varias tareas al mismo tiempo con un único procesador, simulando una ejecución paralela.
Subprocesos
Implementación
Enlenguaje C podemos implementar el uso de subprocesos concurrentes mediante la inclusión de la biblioteca POSIX Threads.
#include
Implementación
Java permite implementar el uso de subprocesosconcurrentes mediante la inclusión de la biblioteca java.lang.
import java.lang.*;
Implementación
El primer primer paso es crear una función que será el que ejecute nuestro hilo, la cual no tendrávalor de retorno y opcionalmente recibirá un parámetro.
void *myFunction() { ... } void *myFunction(void *par) { ... }
Implementación
En primer lugar podemos heredar de la clase Thread yreescribir el método run.
class MiClase extends Thread { ... public void run() { ... } ... }
Implementación
En segundo lugar podemos implementar la interfaz Runnable y escribir el método run.
classMiClase implements Runnable { ... public void run() { ... } ... }
Implementación
Para utilizar estos subprocesos, basta con invocar a la función pthread_create la cual necesita una variable para...
Regístrate para leer el documento completo.