La programación multihilo permite que una aplicación realice múltiples tareas simultáneamente a través de hilos de ejecución que comparten recursos como memoria y archivos. Los hilos tienen un estado de ejecución y pueden sincronizarse para evitar problemas al compartir recursos. Los sistemas operativos implementan multihilos de forma apropiativa o cooperativa. Los usos comunes incluyen trabajo interactivo y en segundo plano, procesamiento asíncrono y estructuración modular de programas.