Las aplicaciones distribuidas están formadas por un conjunto de procesos, los cuales pueden competir por utilizar un recurso o trabajar en forma conjunta para resolver una tarea. Estas aplicaciones requieren protocolos que permitan concurrencia entre los procesos que trabajan cooperativamente y exclusión mutua para aquellos que compiten por utilizar el recurso. En este trabajo se presenta un algoritmo para exclusión mutua para grupos de procesos basándose en el modelo de memoria compartida asincrónica, donde cada conjunto de procesos que realice una actividad conjunta compiten conjuntamente para acceder al recurso.