Capítulo 21. Roscado avanzado
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Comenzamos el Capítulo 14 con los fundamentos de los hilos como precursores de las tareas y la asincronía. En concreto, mostramos cómo iniciar y configurar un hilo, y cubrimos conceptos esenciales como la agrupación de hilos, el bloqueo, el giro y los contextos de sincronización. También introdujimos el bloqueo y la seguridad de los hilos, y demostramos la construcción de señalización más sencilla, ManualResetEvent.
Este capítulo retoma el tema de los subprocesos donde lo dejó el Capítulo 14. En las tres primeras secciones, profundizamos en la sincronización, el bloqueo y la seguridad de los subprocesos. A continuación tratamos:
Bloqueo no exclusivo (
Semaphorey bloqueos de lector/escritor)Todas las construcciones de señalización (
AutoResetEvent,ManualResetEvent,CountdownEvent, yBarrier)Inicialización perezosa (
Lazy<T>yLazyInitializer)Almacenamiento hilo-local (
ThreadStaticAttribute,ThreadLocal<T>, yGetData/SetData)Temporizadores
La rosca es un tema tan amplio que hemos puesto material adicional en línea para completar el cuadro. Visita http://albahari.com/threading para debatir sobre los siguientes temas, más arcanos:
Monitor.WaityMonitor.Pulsepara escenarios de señalización especializadosTécnicas de sincronización no bloqueante para la microoptimización (
Interlockedbarreras de memoria,volatile)SpinLockySpinWait ...