Resultados de la búsqueda a petición "lock-free"

1 la respuesta

Punteros etiquetados para lockFree list en C

Estoy tratando de usar punteros etiquetados para manejar las operaciones sin bloqueo en una lista, a fin de bloquear el paso de comparar e intercambiar (CAS) si algún otro hilo operaba en la lista durante esta transacción. Mi estructura de nodo y ...

1 la respuesta

¿Cómo puedo implementar el contador ABA con c ++ 11 CAS?

Estoy implementando una cola sin bloqueo basada en estoalgoritmo [http://www.cs.rochester.edu/research/synchronization/pseudocode/queues.html], que usa un contador para resolver el problema ABA. Pero no sé cómo implementar este contador con c ++ ...

5 la respuesta

Garantías de progreso sin bloqueo

Como anécdota, descubrí que muchos programadores creen erróneamente que "sin bloqueo" simplemente significa "programación concurrente sin mutexes". Por lo general, también hay un malentendido correlacionado de que el propósito de escribir código ...

2 la respuesta

¿Qué sucede cuando diferentes núcleos de CPU escriben en la misma dirección RAM sin sincronización?

Supongamos que 2 núcleos están tratando de escribir valores diferentes en la misma dirección RAM (1 byte), en el mismo momento (más-menos eta), y sin usar instrucciones entrelazadas o barreras de memoria. ¿Qué sucede en este caso y qué valor se ...

1 la respuesta

is_lock_free () devuelto falso después de actualizar a MacPorts gcc 7.3

Anteriormente, con Apple LLVM 9.1.0,is_lock_free() en estructuras de 128 bits han devuelto verdadero. Tener completastd::optional soporte, luego actualicé a MacPorts gcc 7.3. Durante mi primer intento de compilación, me encontré con este notorio ...

2 la respuesta

Probar genuinamente std :: atomic no tiene bloqueo o no

Ya questd::atomic::is_lock_free() puede no reflejar genuinamente la realidad [ árbitro [https://stackoverflow.com/q/49816855/1348273]], Estoy considerando escribir una prueba de tiempo de ejecución genuina. Sin embargo, cuando me puse a ello, ...

3 la respuesta

La volatilidad evita las lecturas o escrituras introducidas?

Cía#,volatilea palabra clave @ asegura que las lecturas y escrituras tengan semántica de adquisición y liberación, respectivamente. Sin embargo, ¿dice algo sobre lecturas o escrituras introducidas? Por ejemplo volatile Thing something; volatile ...

4 la respuesta

Cola sin bloqueo

También estoy haciendo unc implementación y actualmente tiene la estructura de la cola: typedef struct queueelem { queuedata_t data; struct queueelem *next; } queueelem_t; typedef struct queue { int capacity; int size; queueelem_t ...

6 la respuesta

¿Cómo lograr un comportamiento sin bloqueo, pero bloqueante?

Estoy implementando una cola de consumidor único para un solo productor sin bloqueo para una aplicación de red intensiva. Tengo un montón de hilos de trabajo que reciben trabajo en sus propias colas separadas, que luego eliminan y procesan. La ...

8 la respuesta

Se requiere un bloqueo con una inicialización diferida en un tipo profundamente inmutable?

Si tengo un tipo profundamente inmutable (todos los miembros son de solo lectura y si son miembros del tipo de referencia, también se refieren a objetos que son profundamente inmutables). Me gustaría implementar una propiedad inicializada ...