¿Qué Diablos es MUTEX? Programación Avanzada

  Рет қаралды 18,297

hdeleon.net

hdeleon.net

Күн бұрын

Пікірлер: 41
@hdeleonnet
@hdeleonnet 2 жыл бұрын
Regístrate y encuentra trabajo en Lemon: l.lemon.io/hdeleon Mis cursos: hdeleon.net/cursos-premium/
@victorpuerta5314
@victorpuerta5314 2 жыл бұрын
Que bueno, justo hice un examen en la universidad ayer sobre threads y procesos donde era necesaria la sincronización con, mutex, semaphors y monitors, también entraba la parte de comunicación entre procesos!
@cCcesSsarRr
@cCcesSsarRr 2 жыл бұрын
Termine de ver el video hermano, excelente herramienta.
@emcattaneo
@emcattaneo 2 жыл бұрын
Muy buen video.. Estaria bueno otro explicando con un recurso de una base de datos. Muchas gracias
@asturnebur
@asturnebur 2 жыл бұрын
No puedes poner mutex fuera del while para protegerlo y ahorrar el if ?
@mauricetriana1700
@mauricetriana1700 2 жыл бұрын
Un crack, a quien más se le entiende así de claro sino a Héctor; Me hubiera gustado más con cervezas y sorbos de cerveza
@cCcesSsarRr
@cCcesSsarRr 2 жыл бұрын
Que bien que esta vez hubieron pastel en la fiesta y no cervezas 😁. Excelentes videos como siempre hermano
@cristiancalichio5335
@cristiancalichio5335 2 жыл бұрын
Muy bueno Héctor, muchas gracias por este nuevo video! Un tema muy importante en el que tengo que profundizar
@Paul-po4md
@Paul-po4md 2 жыл бұрын
muy bueno hector, todos los dias se aprende algo nuevo con tus videos
@brauliomariano
@brauliomariano 2 жыл бұрын
Excelente aporte, gracias Héctor.
@Kamihakker
@Kamihakker 2 жыл бұрын
Pensé que ibas a explicar Lock también 😂. Aunque me ha parecido un excelente video 😌
@jarnioo7
@jarnioo7 2 жыл бұрын
Simplemente un crack gracias por compartir tus conocimiento Héctor
@yonatancuervo3489
@yonatancuervo3489 2 жыл бұрын
excelente video
@adolphin6041
@adolphin6041 2 жыл бұрын
Que fácil que lo transmitis, el concepto lo entendi a la perfección, muchas gracias por tu contenido :3
@samuelmacias5425
@samuelmacias5425 2 жыл бұрын
Buena explicación, una duda la excepción no ocurrió porque entraron al mutex pero como no habían más enteros que descontar no entro al if y termino la ejecución sin ejecutar el mutex reléase?
@diegoprietto
@diegoprietto 2 жыл бұрын
Esto mismo estaba pensando, esperaba que libere el mutex después del if en lugar de colocar una excepción, pero tampoco soy muy experto en esto
@josuedev2440
@josuedev2440 2 жыл бұрын
Excelente info!! 🍺
@gusget
@gusget 2 жыл бұрын
increible la explicacion. siempre enseñando de primera Hector 🤟
@luiscruz88
@luiscruz88 2 жыл бұрын
Excelente! muy bien explicado!
@emanuelcordovamontiel1017
@emanuelcordovamontiel1017 4 ай бұрын
Hola, Héctor. ¿Se puede usar Mutex con operaciones asincronas?
@MaxiHnet
@MaxiHnet 2 жыл бұрын
El primero en verte!!! Genio!!!!
@pequenofrancisco1926
@pequenofrancisco1926 2 жыл бұрын
Muchas gracias, lo explicas superbien, cual es la ventaja de mutex sobre lock
@RobertAlexanderParraCiro
@RobertAlexanderParraCiro 2 жыл бұрын
Que diferencia hay entre usar la instancia mutex y lock o Semaphore?
@xek2878
@xek2878 2 жыл бұрын
Excelente video, pero cual es la diferencia con el lock, o el semáforo?
@danielperpar8782
@danielperpar8782 2 жыл бұрын
Hola, si se hiciera la release del mutex después del "if" no sería necesario utilizar try-catch, ¿correcto?, al final siempre vamos a querer liberar el mutex.
@clamato2010
@clamato2010 2 жыл бұрын
Buena info lo malo es que odio C# pero se entiende para hacerlo en c++ nativo
@ale_gallardo
@ale_gallardo 2 жыл бұрын
Buen video, se entendió perfecto. Consulta, las zonas críticas con qué otro objeto se pueden administrar aparte de los Threads?
@mectoystv
@mectoystv 2 жыл бұрын
Que interesante, consulta esta forma de aplicación Mutex deberá tener en eBay cuando se realiza subasta y hay muchos participantes? O en las web de compras y hay muchos conectados no?
@Jocker88
@Jocker88 2 жыл бұрын
Muy buena explicación, solo tengo una duda. Estás utilizando un try-catch para la toma de decisiones. En la documentación veo que hay un campo WaitTimeout y un ejemplo " if(mut.WaitOne(1000))" ¿No sería mejor alternativa? Pregunto por que no estoy seguro del caso. El WaitOne recibe un TimeSpan o el tiempo en ms como Int32. Un saludo y gracias por el vídeo, no conocía esto del Mutex, había usado semáforos como SemaphoreSlim y Semaprhore pero el Mutex tiene claramente otro contexto y ventajas en su contexto específico.
@mevgdev
@mevgdev 2 жыл бұрын
Cual es la diferencia entre el hilo y el task?
@ErickGonzalez-uw3cg
@ErickGonzalez-uw3cg 2 жыл бұрын
Gracias carnal por compartir conocimiento... Me surge una duda y quería preguntarte cual crees que sea la mejor práctica... Resulta que tengo que consumir un SP que bloquea tablas (En un FilesystemWatcher y mando como parámetro el nombre del fichero para que SQL lo procese...) pero pues si detectan más de 2 eventos a la vez... Me da un error de deadlocked on lock... Crees que así con Mutex sería la mejor práctica? o me podrías sugerir alguna alternativa mejor??? Gracias de antemano y gracias de nuevo por todo!!!!
@Leo-bn3wh
@Leo-bn3wh Жыл бұрын
Existe stack overflow
@adcueto
@adcueto Жыл бұрын
Aun sigo sin entender, se supone que en concurrencia solo hay un hilo ejecutandose al mismo tiempo.. porque usar Mutex?
@hdeleonnet
@hdeleonnet Жыл бұрын
Eso no es concurrencia.
@SalaB-Rock
@SalaB-Rock 2 жыл бұрын
🤘
@MrElmarqueli
@MrElmarqueli 2 жыл бұрын
Hola Héctor se me ocurrió esto, pensando en una clase que contenga un metodo static al cual se le cuele cualquiera que quiera: public class Person { public Cake _Cake; public string _name; public Mutex _mutex; public Person(Cake cake,string name, Mutex mutex) { _Cake = cake; _name = name; _mutex = mutex; } } public class ComerPastel { public static void Bite(object Persona) // 0) // Comprueba antes de entrar al bucle si _persona no es null y si hay Porciones. { try { _persona._mutex.WaitOne(); // Si ya hay un hilo en el proceso hace esperar al que esta queriendo acceder a este. if (_persona._Cake.GetQuantity() > 0) // Ahora hacemos otra comprobacion para el proceso que quedo esperando, par comprobar que el ultimo proceso que paso se halla acabado el pastel. { Console.WriteLine($"{_persona._name} le muerde al pastel {_persona._Cake.GetQuantity()}"); _persona._Cake.BiteMe(); // Morder el pastel Console.WriteLine($"{_persona._name} lo deja en {_persona._Cake.GetQuantity()}"); _persona._mutex.ReleaseMutex(); } } catch (AbandonedMutexException ex) { Console.WriteLine($"Lamentablemente ya no hay pastel {_persona._name}"); } } } } ==== Y en Program: ======= Mutex mut = new(); var MyCake = new Cake(100); var p1 = new Person(MyCake, "Hector", mut); var p2 = new Person(MyCake, "Rosana", mut); var p3 = new Person(MyCake, "Javier", mut); var p4 = new Person(MyCake, "Marco", mut); var p5 = new Person(MyCake, "Roberto", mut); string UnHola = "Hola"; // En este caso no hara nada porque no es un objeto Person que se requiere en el metodo Bite. var thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(UnHola ); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p2); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p3); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p4); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p5); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p1); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p3); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p5); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p4); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p5); thread = new Thread(new ParameterizedThreadStart(ComerPastel.Bite)); thread.Start(p1);
@omarvazquezbaez3573
@omarvazquezbaez3573 2 жыл бұрын
También seria una buena idea mostrar lock y semáforos para la concurrencia, buen video 🤘
@Danielspss
@Danielspss Жыл бұрын
Pasa el wallp pls
@batman4523
@batman4523 2 жыл бұрын
estoy seguro ese lomito programa mejor que varios que conozco 🤣🤣
@jarnioo7
@jarnioo7 2 жыл бұрын
Muy básico => muy primitivo
@johnnyelcoste
@johnnyelcoste 2 жыл бұрын
excelente video
BACKEND AVANZADO, Tareas en Segundo Plano 🤘
17:21
hdeleon.net
Рет қаралды 38 М.
Tarea 2, Pruebas Unitarias, Ariel Saborio Alvarez
9:40
Arielsabalv A
Рет қаралды 5
Кәсіпқой бокс | Жәнібек Әлімханұлы - Андрей Михайлович
48:57
Watermelon magic box! #shorts by Leisi Crazy
00:20
Leisi Crazy
Рет қаралды 104 МЛН
PROGRAMACIÓN AVANZADA | MÓNADAS en Programación Funcional
18:52
Programar es DIFÍCIL... (8 verdades duras)
14:27
Programador X
Рет қаралды 544 М.
5 COSAS que debes saber como Programador Backend SENIOR
13:48
hdeleon.net
Рет қаралды 38 М.
¿Qué diablos es Task en C# .Net? Programación asíncrona
14:40
¿Qué son los PATRONES de DISEÑO?
10:40
hdeleon.net
Рет қаралды 40 М.
5 COSAS EXTRAÑAS en C# .NET
17:19
hdeleon.net
Рет қаралды 12 М.
Новый CSS! 2024
18:06
Как пройти в IT?
Рет қаралды 16 М.
Por qué DEBES aprender TYPESCRIPT (Typescript vs Javascript)
12:29
Кәсіпқой бокс | Жәнібек Әлімханұлы - Андрей Михайлович
48:57