Asincronía y paralelismo
De la programación paralela basada en threads al modelo asincrónico basado en tareas.
Tecnología
Task(C#)async/await(C#)Parallel.For,Parallel.ForEach,Interlocked(C#)
Temario
- Multi-threading vs concurrencia vs paralelismo vs asincronía: definiciones y diferencias
- Procesos o funciones CPU bound / IO bound, y su relación con la asincronía
- Cómo pasar de threads a tasks
Task- Tasks vs threads: por qué usar uno u otro
CancellationToken.IsCancellationRequestedOperationCanceledException- Pasar el token a una función asincrónica
CancelAfter(tiempo)
ThreadPooly su vínculo con las tasks
async/await- Ventajas
- Cómo usarlos y qué hace el
await - Métodos asincrónicos: dónde usarlos, métodos async de .NET, crear métodos async propios
- Cómo devolver valores y cómo devolver "void"
- Paralelismo
Parallel.For,Parallel.ForEach- Conexión con exclusión mutua:
Interlocked(operaciones atómicas, por ejemplo.Add) - Importancia de usar mutua exclusión
Clases
Task y async/await
Task, async/await, cancelación y paralelismo de datos.