Why boost::shared_mutex cannot block more than 128 threads? Is this a well-known issue?
boost1.67+mscv2015
boost::shared_mutex mutex;
for (int i = 0; i < 256; i++)
{
std::thread([&]() {
printf("begin\n");
{ //crash after 128 times
boost::unique_lock<boost::shared_mutex> lock(mutex);
Sleep(5000);
}
printf("end\n");
}).detach();
}
Sleep(5000);