Перейти к содержимому

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