Articles of concurrencia

Confundido sobre UPDLOCK, HOLDLOCK

Mientras investigaba el uso de Table Hints , encontré estas dos preguntas: ¿Qué consejos de locking debo usar (T-SQL)? ¿Qué efecto tiene HOLDLOCK en UPDLOCK? Las respuestas a ambas preguntas dicen que al usar (UPDLOCK, HOLDLOCK) , otros procesos no podrán leer datos en esa tabla, pero no vi esto. Para probar, creé una tabla […]

Colas concurrentes vs serie en GCD

Estoy luchando por comprender completamente las colas concurrentes y en serie en GCD. Tengo algunos problemas y espero que alguien me pueda responder claramente y en el momento. Estoy leyendo que las colas en serie se crean y se usan para ejecutar las tareas una después de la otra. Sin embargo, ¿qué ocurre si: Creo […]

¿Qué se usará para el intercambio de datos entre hilos que se ejecutan en un Core con HT?

La tecnología Hyper-Threading es una forma de tecnología de subprocesamiento múltiple simultánea introducida por Intel. Estos recursos incluyen el motor de ejecución, las memorias caché y la interfaz de bus del sistema; el intercambio de recursos permite que dos procesadores lógicos trabajen entre sí de manera más eficiente y permite que un procesador lógico estancado […]

NSURLSesión de solicitudes concurrentes con Alamofire

Estoy experimentando un comportamiento extraño con mi aplicación de prueba. Tengo aproximadamente 50 solicitudes GET simultáneas que envío al mismo servidor. El servidor es un servidor integrado en una pequeña pieza de hardware con recursos muy limitados. Para optimizar el rendimiento de cada solicitud individual, configuro una instancia de Alamofire.Manager siguiente manera: let configuration = […]

Django: ¿Cómo puedo protegerme contra la modificación simultánea de las entradas de la base de datos?

Si hay una forma de protegerse contra las modificaciones concurrentes de la misma entrada de la base de datos por dos o más usuarios? Sería aceptable mostrar un mensaje de error al usuario que realiza la segunda operación de confirmación / guardado, pero los datos no deben sobrescribirse silenciosamente. Creo que bloquear la entrada no […]

¿Es seguro obtener valores de un java.util.HashMap de varios hilos (sin modificación)?

Hay un caso donde se construirá un mapa, y una vez que se inicializa, nunca se modificará nuevamente. Sin embargo, se accederá (a través de get (key) solamente) desde múltiples hilos. ¿Es seguro usar un java.util.HashMap de esta manera? (Actualmente, estoy felizmente usando un java.util.concurrent.ConcurrentHashMap , y no tengo una necesidad medida de mejorar el […]

¿La iteración de los valores de ConcurrentHashMap es segura?

En javadoc para ConcurrentHashMap es el siguiente: Las operaciones de recuperación (incluido get) generalmente no se bloquean, por lo que pueden superponerse con las operaciones de actualización (incluso poner y eliminar). Las recuperaciones reflejan los resultados de las operaciones de actualización completadas más recientemente que se mantienen desde su inicio. Para operaciones agregadas como putAll […]

Instrucciones de SSE: ¿qué CPU puede hacer operaciones de memoria atómica de 16B?

Considere la posibilidad de tener acceso a una sola memoria (una lectura única o una sola escritura, no lectura + escritura) en una CPU x86. La instrucción está accediendo a 16 bytes (128 bits) de memoria y la ubicación de la memoria a la que se accede está alineada con 16 bytes. El documento “Libro […]

¿Es esto un grupo de hilos de trabajo idiomático en Go?

Estoy intentando escribir un grupo de trabajadores simple con goroutines. Es el código que escribí idiomático? Si no, ¿qué debería cambiar? Quiero poder establecer el número máximo de hilos de trabajo en 5 y bloquear hasta que un trabajador esté disponible si los 5 están ocupados. ¿Cómo ampliaría esto para tener solo un grupo de […]

¿Qué es un semáforo?

Un semáforo es un concepto de progtwigción que se utiliza con frecuencia para resolver problemas de subprocesos múltiples. Mi pregunta a la comunidad: ¿Qué es un semáforo y cómo lo usas?