在我正在调试的代码库中遇到了这个析构函数。
ManagerImpl::~ManagerImpl() {
// don't go away if some thread is still hitting us
boost::unique_lock<boost::mutex> l(m_mutex);
}
它实际上在多线程程序中有什么有用的用途吗?它看起来像kludge。
我假设这个想法是如果另一个线程正在调用一个锁定互斥锁的函数,则推迟销毁,但这样做是否有效?ElectricFence 段错误会让我不相信。