-
//[C++ Boost] boost::recursive_mutex
//
// 6222 jyj
//
// boost::mutex와 달리 boost::recursive_mutex는 동일 Td에서 중복 lock체크 한다.
//
#pragma once
#include <iostream>
#include "boost/thread.hpp"
namespace BoostRecursive_mutexTest01
{
void Main()
{
std::cout << __FILE__ << std::endl;
{//safe
boost::recursive_mutex rm1;
boost::unique_lock<boost::recursive_mutex> lock1(rm1);
boost::unique_lock<boost::recursive_mutex> lock2(rm1);
std::cout << "boost::recursive_mutex" << std::endl;
}
{//deadlock
boost::shared_mutex sm1;
boost::unique_lock<boost::shared_mutex> lock1(sm1);
boost::unique_lock<boost::shared_mutex> lock2(sm1);
std::cout << "boost::shared_mutex" << std::endl;
}
}
}