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 (
Semaphore
y 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.Wait
yMonitor.Pulse
para escenarios de señalización especializadosTécnicas de sincronización no bloqueante para la microoptimización (
Interlocked
barreras de memoria,volatile
)SpinLock
ySpinWait ...
Get C# 10 en pocas palabras now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.