Pregunta

Si la solicitud se dirige en Windows Vista o posterior, podríamos reemplazar todos secciones críticas con SRW cerraduras ? Desde sección crítica es mutuamente excluyente, para el uso es equivalente a cerraduras SRW en modo exclusivo, ¿verdad? Según MSDN, SRW está optimizado tanto para la velocidad y el espacio. ¿Hay algún inconveniente para hacer esto? No estoy seguro de cómo CS y SRW se implementan internamente por Microsoft.

Gracias!

¿Fue útil?

Solución

El libro de Joe Duffy Ver "Programación Concurrente en Windows", página 289.

La respuesta a su pregunta es "casi". Hay semántica con CRITICAL_SECTION de forma recursiva adquiridos que son diferentes para SRWL de. Si el programa se aprovechó de estas características de las secciones críticas de Win32, entonces no puede cambiar al por mayor a SRWL fácilmente. Se podría, sin embargo, envolver un SRWL en un envoltorio para proporcionar CS como la semántica, pero hay un montón de sutilezas, al hacerlo, por lo que es mejor de pegarse a CS de si está en función de tal comportamiento.

Kenny Kerr describe un poco acerca de cómo se implementan tanto internamente .

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