当前位置: 首页>>代码示例>>C++>>正文


C++ scoped_lock::lock方法代码示例

本文整理汇总了C++中mutex::scoped_lock::lock方法的典型用法代码示例。如果您正苦于以下问题:C++ scoped_lock::lock方法的具体用法?C++ scoped_lock::lock怎么用?C++ scoped_lock::lock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mutex::scoped_lock的用法示例。


在下文中一共展示了scoped_lock::lock方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: wait_for

	void condition_variable::wait_for(mutex::scoped_lock& l, time_duration rel_time)
	{
		TORRENT_ASSERT(l.locked());
		++m_num_waiters;
		l.unlock();
		acquire_sem_etc(m_sem, 1, B_RELATIVE_TIMEOUT, total_microseconds(rel_time));
		l.lock();
		--m_num_waiters;
	}
开发者ID:TeoTwawki,项目名称:libtorrent,代码行数:9,代码来源:thread.cpp

示例2: wait

	void condition_variable::wait(mutex::scoped_lock& l)
	{
		TORRENT_ASSERT(l.locked());
		++m_num_waiters;
		l.unlock();
		acquire_sem(m_sem);
		l.lock();
		--m_num_waiters;
	}
开发者ID:TeoTwawki,项目名称:libtorrent,代码行数:9,代码来源:thread.cpp

示例3: remove_oldest

	void file_pool::remove_oldest(mutex::scoped_lock& l)
	{
		file_set::iterator i = std::min_element(m_files.begin(), m_files.end()
			, boost::bind(&lru_file_entry::last_use, boost::bind(&file_set::value_type::second, _1))
				< boost::bind(&lru_file_entry::last_use, boost::bind(&file_set::value_type::second, _2)));
		if (i == m_files.end()) return;

		file_handle file_ptr = i->second.file_ptr;
		m_files.erase(i);

		// closing a file may be long running operation (mac os x)
		l.unlock();
		file_ptr.reset();
		l.lock();
	}
开发者ID:diegode,项目名称:libtorrent,代码行数:15,代码来源:file_pool.cpp

示例4: disable

void natpmp::disable(error_code const& ec, mutex::scoped_lock& l)
{
    m_disabled = true;

    for (std::vector<mapping_t>::iterator i = m_mappings.begin(), end(m_mappings.end()); i != end; ++i)
    {
        if (i->protocol == none) continue;
        i->protocol = none;
        int index = i - m_mappings.begin();
        l.unlock();
        m_callback(index, address(), 0, ec);
        l.lock();
    }
    close_impl(l);
}
开发者ID:a-pavlov,项目名称:libed2k,代码行数:15,代码来源:natpmp.cpp

示例5: log

void natpmp::log(char const* msg, mutex::scoped_lock& l)
{
	l.unlock();
	m_log_callback(msg);
	l.lock();
}
开发者ID:Jackarain,项目名称:libtorrent,代码行数:6,代码来源:natpmp.cpp


注:本文中的mutex::scoped_lock::lock方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。