Ejemplo_4.cpp
Prevencion de deadlocks con varios mutexTomasOrtellado
c_cpp
5 months ago
697 B
3
Indexable
// Prevencion de deadlocks con varios mutex #include <iostream> #include <thread> #include <mutex> std::mutex mtx1, mtx2; void tareaA() { std::lock(mtx1, mtx2); std::lock_guard<std::mutex> lock1(mtx1, std::adopt_lock); std::lock_guard<std::mutex> lock2(mtx2, std::adopt_lock); std::cout << "Tarea A completada.\n"; } void tareaB() { std::lock(mtx1, mtx2); std::lock_guard<std::mutex> lock1(mtx1, std::adopt_lock); std::lock_guard<std::mutex> lock2(mtx2, std::adopt_lock); std::cout << "Tarea B completada.\n"; } int main() { std::thread t1(tareaA); std::thread t2(tareaB); t1.join(); t2.join(); return 0; }
Editor is loading...
Leave a Comment