Las aplicaciones de subprocesos múltiples son programas capaces de realizar varias operaciones al mismo tiempo. Estos aplicaciones hágalo ejecutando múltiples subprocesos (secuencias independientes de instrucciones) dentro del contexto de un solo proceso. Los subprocesos sincronizan acciones y utilizan los mismos recursos, pero se ejecutan y ejecutan independientemente unos de otros.
La ejecución simultánea mejora el rendimiento y la capacidad de respuesta de una aplicación. Multi-threading también permite que los programas aprovechen al máximo los recursos disponibles hardware (particularmente los modernos procesadores multinúcleo).