Regístrate y encuentra trabajo en Lemon: l.lemon.io/hdeleon Mis cursos: hdeleon.net/cursos-premium/
@victorpuerta53142 жыл бұрын
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!
@cCcesSsarRr2 жыл бұрын
Termine de ver el video hermano, excelente herramienta.
@emcattaneo2 жыл бұрын
Muy buen video.. Estaria bueno otro explicando con un recurso de una base de datos. Muchas gracias
@asturnebur2 жыл бұрын
No puedes poner mutex fuera del while para protegerlo y ahorrar el if ?
@mauricetriana17002 жыл бұрын
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
@cCcesSsarRr2 жыл бұрын
Que bien que esta vez hubieron pastel en la fiesta y no cervezas 😁. Excelentes videos como siempre hermano
@cristiancalichio53352 жыл бұрын
Muy bueno Héctor, muchas gracias por este nuevo video! Un tema muy importante en el que tengo que profundizar
@Paul-po4md2 жыл бұрын
muy bueno hector, todos los dias se aprende algo nuevo con tus videos
@brauliomariano2 жыл бұрын
Excelente aporte, gracias Héctor.
@Kamihakker2 жыл бұрын
Pensé que ibas a explicar Lock también 😂. Aunque me ha parecido un excelente video 😌
@jarnioo72 жыл бұрын
Simplemente un crack gracias por compartir tus conocimiento Héctor
@yonatancuervo34892 жыл бұрын
excelente video
@adolphin60412 жыл бұрын
Que fácil que lo transmitis, el concepto lo entendi a la perfección, muchas gracias por tu contenido :3
@samuelmacias54252 жыл бұрын
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?
@diegoprietto2 жыл бұрын
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
@josuedev24402 жыл бұрын
Excelente info!! 🍺
@gusget2 жыл бұрын
increible la explicacion. siempre enseñando de primera Hector 🤟
@luiscruz882 жыл бұрын
Excelente! muy bien explicado!
@emanuelcordovamontiel10174 ай бұрын
Hola, Héctor. ¿Se puede usar Mutex con operaciones asincronas?
@MaxiHnet2 жыл бұрын
El primero en verte!!! Genio!!!!
@pequenofrancisco19262 жыл бұрын
Muchas gracias, lo explicas superbien, cual es la ventaja de mutex sobre lock
@RobertAlexanderParraCiro2 жыл бұрын
Que diferencia hay entre usar la instancia mutex y lock o Semaphore?
@xek28782 жыл бұрын
Excelente video, pero cual es la diferencia con el lock, o el semáforo?
@danielperpar87822 жыл бұрын
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.
@clamato20102 жыл бұрын
Buena info lo malo es que odio C# pero se entiende para hacerlo en c++ nativo
@ale_gallardo2 жыл бұрын
Buen video, se entendió perfecto. Consulta, las zonas críticas con qué otro objeto se pueden administrar aparte de los Threads?
@mectoystv2 жыл бұрын
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?
@Jocker882 жыл бұрын
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.
@mevgdev2 жыл бұрын
Cual es la diferencia entre el hilo y el task?
@ErickGonzalez-uw3cg2 жыл бұрын
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 Жыл бұрын
Existe stack overflow
@adcueto Жыл бұрын
Aun sigo sin entender, se supone que en concurrencia solo hay un hilo ejecutandose al mismo tiempo.. porque usar Mutex?
@hdeleonnet Жыл бұрын
Eso no es concurrencia.
@SalaB-Rock2 жыл бұрын
🤘
@MrElmarqueli2 жыл бұрын
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);
@omarvazquezbaez35732 жыл бұрын
También seria una buena idea mostrar lock y semáforos para la concurrencia, buen video 🤘
@Danielspss Жыл бұрын
Pasa el wallp pls
@batman45232 жыл бұрын
estoy seguro ese lomito programa mejor que varios que conozco 🤣🤣