Supongo que por "hilos de espacio de usuario" te refieres (por ejemplo) a los goroutines de Go.
Es cierto que el uso de goroutines para concurrencia es menos eficiente que el diseño (a mano y mediante cálculos científicos) de un algoritmo especial para asignar unidades de trabajo a los hilos del sistema operativo.
Sin embargo, cada programa Go está situado en un entorno y está diseñado para resolver un problema en particular. Se puede iniciar una nueva rutina para cada solicitud que el entorno realiza al programa Go. Si el entorno realiza solicitudes simultáneas al programa Go, un programa Go que utilice goroutines podría ejecutarse más rápido que un programa en serie, incluso si el programa Go usa solo 1 hilo del sistema operativo. La razón por la que los goroutines podrían procesar solicitudes con mayor velocidad (incluso cuando se usa solo 1 hilo del sistema operativo) es que el programa Go cambiará automáticamente de la rutina A a la rutina B cuando la parte del entorno que está asociada con A no puede momentáneamente responder.
Pero sí, es cierto que usar goroutines y asignarlos automáticamente a múltiples hilos del sistema operativo es menos eficiente que diseñar (a mano y mediante cálculos científicos) un algoritmo especial para asignar unidades de trabajo a los hilos del sistema operativo.
Bueno, confirma que si confía únicamente en subprocesos de espacio de usuario, no puede aprovechar el núcleo múltiple. Es solo que estaba seguro de haber leído que Go utilizaba hilos de espacio de usuario en alguna parte, lo cual es falso (ya que en la actualidad, las rutinas se implementan usando pthreads). ¡Me alegra oír que estaba equivocado! –
StephenC, puede haber usado el término "hecho", pero está haciendo una pregunta, y ciertamente abierto a la posibilidad de que su presunción sea incorrecta. +1 para compensar la diferencia. – snarf
solo para comentar lo que otros ya han dicho ... Java en Linux, por ejemplo: han pasado más de diez años desde que los hilos de Java se mapean a los hilos nativos de Linux. Al principio no solía ser así (lo recuerdo en estos días) pero, sí, han pasado más de 10 años de lo que ahora es. – SyntaxT3rr0r