Básicamente nos sirve para evitar que nuestra aplicación (programa) se ejecute más de una vez, esto nos puede ser bastante útil cuando agregamos distintos métodos de inicio a nuestro programa y solo queremos que se ejecute una sola vez.
Otra ventaja del Mutex es que no importa el nombre que tenga nuestro programa, es decir si tu programa se llama pepe.exe y haces una copia de el con el nombre pedro.exe, solo uno de los dos se podrá ejecutar.
Codigo fuente de un Mutex en C++
/*
/* Codigo fuente de ejemplo Mutex
/* Elaborado para www.aztekmindz.org by Octalh
/* [ octalh@gmail.com ]
*/
int main(int argc, char *argv[])
{
CreateMutex(0,0,"-+- Mutex AzTeK-MiNdZ -+-"); //Creamos el Mutex
if(GetLastError() == ERROR_ALREADY_EXISTS){ // Si ya existe…
ExitProcess(0); // Cerramos aplicacion
} else { // De lo contrario…
// Ejecutamos resto del Programa
printf("\n << MUTEX [ www.aztekmindz.org ] >>\n\n");
printf("\n \t Esta aplicacion solo se puede ejecutar una sola ves. \n\n");
getch();
return EXIT_SUCCESS;
}
}
como administrar un pool de hilos que tienen que leer varios archivos??????