Pregunta

Tengo una estructura de datos cuyas operaciones pueden clasificarse como operaciones de lectura (por ejemplo, operaciones de búsqueda) y las operaciones de escritura (por ejemplo, inserción, eliminación). Estas operaciones deben estar sincronizados de modo que:

  • operaciones de lectura no pueden ejecutar una operación de escritura mientras se está ejecutando (a menos que en el mismo hilo), sin embargo las operaciones de lectura se pueden ejecutar simultáneamente con respecto a otras operaciones de lectura.
  • Las operaciones de escritura no pueden ejecutar mientras sea de lectura o escritura se ejecutan las operaciones (a menos que en el mismo hilo).

¿Cómo se puede implementar este tipo de sincronización?

La plataforma es ganar-API para que los objetos de sincronización de la API y las funciones entrelazadas son los bloques de construcción básicos.

¿Fue útil?

Solución

aplicación recomendada por Microsoft de un bloqueo de lectura / escritura está aquí (que tendrá que desplazarse un poco, a la cabecera "bloquea lector / grabador"):

http://msdn.microsoft.com/en-us/library /ms810427.aspx

A modo de referencia, para aquellos que tienen la misma pregunta, pero que tienen el lujo de .NET:

http://msdn.microsoft.com/en -us / biblioteca / system.threading.readerwriterlock.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top