Buenas!.
Pues eso.
Aunque no los entiendo muy bien y no encuentro una documentación adecuada, estuve probando el uso de "hilos" en Java.
Hicimos un ejemplo simulando una carrera, cada objeto hilo heredaba de la clase Thread( eran los vehículos).
Alguno de los vehículos eran más rápido , por ejemplo un coche es.. más rápido que una bicicleta
por lo tanto en el método de ejecución del hilo se hacía dormir menos a los vehículos rápidos .
Al final los vehículos (hilos) se ejecutaban como le daba la gana, no en el orden que se crearon.
Tampoco era cuestión de que una bicicleta fuera al ritmo de una avión.
Tenía un método "sincronizado" que era donde los vehículos incrementaban la distancia recorrida.
Una de las cosas curiosas es que al ser "sincronizado" ese método. Si querías hacer un ejemplo que
solo importase que llegará un vencendor, un participante (hilo), se podía dar el caso de que al llegar uno...
se ejecutasen después ( al menos ) una vez cada hilo restante.
Así que no interesaba que el método fuera sincronizado si solo importase que llegará un solo vencedor.
Peeeero como hice otro ejemplo para que fueran tres posiciones de llegada, dejé el método sincronizado.
Como era de esperar, primero llegó el avión, luego el barco...(si! ), como tercero el coche y a remolque la bicicleta.
En este ejemplo, no se podía dar un caso de "prioridad" de ejecución de los hilos.
Los ejemplos que he encontrado por ahora sobre hilos no son muy adecuados para entender el funcionamiento de los "hilos".
Pero, estos procesos, deben siempre ser pequeños por lo que parece. Ademas son algo fastidiosos... a la hora de programar.
A veces los hilos son muy egoístas y solo piensan en ejecutarse ellos. Pero para eso están las prioridades.
Saludos