Rust: Concurrencia sin Miedo | Proyecto final: Detector de rostros - Worker Pool | Ep. 20
iDesoft Learn Español
0:00 / 0:00
Rust: Concurrencia sin Miedo | Proyecto final: Detector de rostros - Worker Pool | Ep. 20
145 просмотров · 4 дня назад
iDesoft Learn Español
190 подписчиков
145 просмотров · 4 дня назад
Continuamos con el proyecto final del curso de Rust: Concurrencia sin Miedo, implementando el componente Face Detection del detector de rostros. Construimos un Worker Pool con hilos nativos: cada worker recibe imágenes para procesar, usa su propia instancia del detector y comunica los resultados o errores mediante canales. También coordinamos el acceso al receptor compartido con un Mutex para evitar que dos workers tomen el mismo trabajo.
Lo que aprenderás:
Cómo iniciar un Worker Pool y crear sus workers.
Cómo distribuir imágenes entre varios hilos usando canales y sincronización con Mutex.
Qué datos necesita cada worker: el detector y las rutas de entrada y salida.
Por qué cada hilo mantiene su propia instancia del detector.
Cómo mantener los workers activos para procesar varios trabajos y comunicar resultados o errores.
Requisitos:
Conocimientos básicos de Rust y ownership.
Familiaridad con std::thread, canales mpsc y Arc/Mutex.
Haber seguido los episodios anteriores del proyecto final del curso.
Recursos:
Código fuente: https://github.com/iDesoftSystems/r3y...
Threads: https://doc.rust-lang.org/std/thread/
Canales mpsc: https://doc.rust-lang.org/std/sync/mpsc/
Mutex: https://doc.rust-lang.org/std/sync/st...
0:00 - Introducción
5:03 - El componente Face Detection y el Worker Pool
10:00 - Inicio del pool y creación de workers
20:02 - Canal compartido y Mutex para repartir los trabajos
30:00 - Datos de entrada, detector y rutas de imágenes
35:03 - Estructura de resultados para las imágenes procesadas
50:00 - Canales y recursos propios de cada worker
1:00:03 - Workers persistentes, resultados y errores
1:05:01 - Resumen y cierre