Articles of mutex

Usar una cadena como un candado para sincronizar los hilos

Mientras estaba mirando algún código de aplicación heredado noté que está usando un objeto de cadena para hacer la sincronización del hilo. Estoy tratando de resolver algunos problemas de contención de hilos en este progtwig y me preguntaba si esto podría provocar algunas situaciones extrañas. Alguna idea ? private static string mutex= “ABC”; internal static […]

¿Qué tan eficiente es bloquear un mutex desbloqueado? ¿Cuál es el costo de un mutex?

En un lenguaje de bajo nivel (C, C ++ o lo que sea): tengo la opción entre tener un montón de mutexes (como lo que pthread me da o lo que proporciona la biblioteca del sistema nativo) o uno solo para un objeto. ¿Qué tan eficiente es bloquear un mutex? Es decir, ¿cuántas instrucciones del […]

Variable de condición de compartir & mutex entre procesos: ¿el mutex tiene que bloquearse antes?

Necesito un poco de ayuda para entender cómo usar las variables de condición en C para resolver un ejercicio. Aquí hay un pequeño ejemplo: #include #include #include #include #include #include #include #include #include #include #define OKTOWRITE “/oktowrite” #define MESSAGE “/message” #define MUTEX “/lock” int main(int argc, char** argv) { pthread_cond_t* condition; pthread_mutex_t *mutex; char* message; […]

¿Por qué no se libera Mutex cuando se elimina?

Tengo el siguiente código: using (Mutex mut = new Mutex(false, MUTEX_NAME)) { if (mut.WaitOne(new TimeSpan(0, 0, 30))) { // Some code that deals with a specific TCP port // Don’t want this to run at the same time in another process } } Establecí un punto de interrupción dentro del bloque if y ejecuté el […]

C ++ 11 equivalente a impulsar shared_mutex

¿Hay un C ++ 11 equivalente para el boost::shared_mutex . ¿O alguna otra solución para manejar una situación de lector múltiple / escritor individual en C ++ 11?

Lock, mutex, semáforo … ¿cuál es la diferencia?

He escuchado estas palabras relacionadas con la progtwigción simultánea, pero ¿cuál es la diferencia entre ellas?

¿Es posible determinar el hilo que contiene un mutex?

En primer lugar, uso la biblioteca pthread para escribir el progtwig C de subprocesos múltiples. Los hilos siempre cuelgan por sus mutexs esperadas. Cuando uso la utilidad strace para encontrar un hilo en estado FUTEX_WAIT , quiero saber qué hilo contiene ese mutex en ese momento. Pero no sé cómo podría hacerlo. ¿Hay alguna utilidad […]

comprensión de pthread_cond_wait () y pthread_cond_signal ()

En general, pthread_cond_wait() y pthread_cond_signal() se llaman de la siguiente manera: //thread 1: pthread_mutex_lock(&mutex); pthread_cond_wait(&cond, &mutex); do_something() pthread_mutex_unlock(&mutex); //thread 2: pthread_mutex_lock(&mutex); pthread_cond_signal(&cond); pthread_mutex_unlock(&mutex); Los pasos son pthread_cond_wait(&cond, &mutex); se llama, desbloquea el mutex El hilo 2 bloquea el mutex y llama a pthread_cond_signal() , que desbloquea el mutex En el hilo 1, pthread_cond_wait() se llama […]

¿Cuáles son las diferencias entre varias opciones de sincronización de subprocesamiento en C #?

¿Alguien puede explicar la diferencia entre: lock (someobject) {} Usando Mutex Usando semáforo Usando el monitor Usar otras clases de sincronización de .Net Simplemente no puedo resolverlo. Me parece que los dos primeros son lo mismo?

¿Hay un Mutex en Java?

¿Hay un objeto Mutex en Java o una forma de crear uno? Pregunto porque un objeto Semaphore inicializado con 1 permiso no me sirve. Piensa en este caso: try { semaphore.acquire(); //do stuff semaphore.release(); } catch (Exception e) { semaphore.release(); } si ocurre una excepción en la primera adquisición, la liberación en el bloque catch […]