Los hilos (Threads en ingles) son la posibilidad de ejecutar un programa de forma paralela por así decir. El programa se divide en "Hilos" de ejecución.
Imaginas un bar... Eres un camarero. Alguien te pide un plato elaborado, vas tu y lo haces. ¿Nada nuevo no? Pero imaginas que mientras estas preparando un plato elaborado que tarda mucho y te aparece un cliente queriendo una tapita XDD. No estas "preso" al plato elaborado, puedes salir en un momento dejando el "plato elaborado" y servir la tapa, luego vuelves nuevamente al plato elaborado.
Técnicamente no eso lo que hace los hilos. Seria mas bien que sueltas el cuchillo al elaborar el plato y sirves una aceituna de la tapa, luego vuelves al cuchillo y así sucesivamente cortas un filete y sirves una aceituna de la tapa... Eso te posibilita hacer 2 cosas a la vez con Hilos.
Mira, aquí tienes un ejemplo.
Si entiendes algo de C o C++ no te costara mucho.
http://codepad.org/X5tGquPJ
Se crean tres hilos a lo cual envías una función a cada hilo. Las funciones son sencillas, solo contienen un bucle for en cada una de ellas, la diferencia es que cada una imprime un caracter distinto. Una imprime la X, otra el simbolo+ etc etc.
Si entiendes de programación sabes que es imposible que se mezcle el contenido de cada función. si llamas 1º la funcion1 luego la funcion2 y luego la 3 sabes que se va ejecutar el for de la 1º, luego el for de la 2º y por ultimo el for de la 3º. Lo que digo es que se ejecuta de forma lineal.
Pero al enviar una función a cada hilo, notaras como salen mezclados esos X+O en un orden que no controlamos, pues es el PC que se encarga de ejecutar cachitos a cachitos cada bucle. Es como barajar cartas, tu las puedes dar ordenadas pero el procesador se encarga de "cocinar" el plato y servir la "tapa" al mismo tiempo.
Al final los hilos deben retornar al hilo principal.
Debes leer algo sobre hilos. Y ademas no se como sera eso en matlab.
Otra cosa son los procesos, pero ahí nunca me metí yo y apenas se nada.
Los hilos también hay formas de controlarlos ya que de dejarlos sueltos puede que cocines el plato antes de servir las aceitunas y puede que no sea eso lo que quieres.
Existen los Semáforos y otros mecanismos que controlan si un hilo debe detener hasta que otro realice una determinada tarea ya que un hilo puede terminar antes que otro y no es eso lo que buscas. Todo depende de lo que necesites hacer.
En ese vídeo puedes ver como hace para mezclar 2 funciones que en cada una hay un bucle for. Notaras que cada función imprime un mensaje, y que esos mensajes se "mezclan" entre ellos al imprimir en pantalla.
El tema es algo complicado se necesita practicar algo para entenderlo pero para algunas cosas es esencial.
Un ejemplo es mostrar por ejemplo un cronometro en segundos en la tela mientras estas calculando algo.
Eso es imposible de hacer.
Intente hacer un un programa que vaya mostrando los segundos pasados hasta que el usuario pulsa un botón. O_O El programa se va detener a esperar ese botón y no va mostrar los segundos XDDD.
Si haces un hilo que vaya mostrando los segundos mientras el hilo principal espera esa pulsación problema resuelto XDDD