• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ thread::Mutex类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中thread::Mutex的典型用法代码示例。如果您正苦于以下问题:C++ Mutex类的具体用法?C++ Mutex怎么用?C++ Mutex使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



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

示例1: wait_for_thread_init

// master线程等待所有线程初始化完成
void wait_for_thread_init() {
    s_init_lock.Hold();
    while (s_init_count < s_net_setting.net_thread_num_) {
        pthread_cond_wait(&s_init_cond, &s_init_lock.GetMutex());
    }
    s_init_lock.Release();
}
开发者ID:lj-211,项目名称:go_fight,代码行数:8,代码来源:go_net.cpp


示例2: needSpecial

void WildcardManager::needSpecial(WCSpecialInfo *info)
{
	m_WCMutex.lock();
	onNeedSpecialEvent(*info);
	m_WCMutex.unlock();
}
开发者ID:Alasaad,项目名称:Desurium,代码行数:6,代码来源:WildcardManager.cpp


示例3: addExtender

bool ItemJSBinding::addExtender(ChromiumDLL::JavaScriptExtenderI* extender)
{
	if (!extender)
		return false;

	bool found = false;

	g_ItemLock.lock();

	for (size_t x=0; x<g_vExtenderList.size(); x++)
	{
		if (g_vExtenderList[x] == extender)
		{
			found = true;
			break;
		}
	}

	if (!found)
		g_vExtenderList.push_back(extender);

	g_ItemLock.unlock();

	return !found;
}
开发者ID:BlastarIndia,项目名称:Desurium,代码行数:25,代码来源:jsItem.cpp


示例4: AddItem

uint32 ItemJSBinding::AddItem(ScriptCoreItemI* item)
{
	uint32 hash = UTIL::MISC::RSHash_CSTR(gcString("{0}", (uint64)item));

	g_ItemLock.lock();
	g_ItemMap[hash] = item;
	g_ItemLock.unlock();

	return hash;
}
开发者ID:BlastarIndia,项目名称:Desurium,代码行数:10,代码来源:jsItem.cpp


示例5: RemoveItem

void ItemJSBinding::RemoveItem(uint32 itemId)
{
	g_ItemLock.lock();

	auto it = g_ItemMap.find(itemId);

	if (it != g_ItemMap.end())
		g_ItemMap.erase(it);

	g_ItemLock.unlock();
}
开发者ID:BlastarIndia,项目名称:Desurium,代码行数:11,代码来源:jsItem.cpp


示例6: GetItem

ScriptCoreItemI* ItemJSBinding::GetItem(uint32 itemId)
{
	ScriptCoreItemI* ret = NULL;

	g_ItemLock.lock();

	auto it = g_ItemMap.find(itemId);

	if (it != g_ItemMap.end())
		ret= it->second;

	g_ItemLock.unlock();

	return ret;
}
开发者ID:BlastarIndia,项目名称:Desurium,代码行数:15,代码来源:jsItem.cpp


示例7: reinit

 // Called after a fork(), when we know we're alone again, to get
 // everything back in the proper order.
 void reinit() {
   mutex_.init();
   waiting_to_stop_.init();
   waiting_to_run_.init();
   pending_threads_ = 1;
   should_stop_ = false;
 }
开发者ID:vasco,项目名称:rubinius,代码行数:9,代码来源:shared_state.cpp


示例8: getRegistrationCode

const char* ItemJSBinding::getRegistrationCode()
{
	DesuraJSBase<ItemJSBinding>::getRegistrationCode();

	g_ItemLock.lock();

	for (size_t x=0; x<g_vExtenderList.size(); x++)
	{
		const char* code = g_vExtenderList[x]->getRegistrationCode();
		m_szRegCode.append(code);
	}

	g_ItemLock.unlock();

	return m_szRegCode.c_str();
}
开发者ID:BlastarIndia,项目名称:Desurium,代码行数:16,代码来源:jsItem.cpp


示例9: execute

JSObjHandle ItemJSBinding::execute(ChromiumDLL::JavaScriptFunctionArgs* args)
{
	JSObjHandle ret =  DesuraJSBase<ItemJSBinding>::execute(args);
	
	if (!ret->isException() || g_vExtenderList.empty())
		return ret;

	g_ItemLock.lock();

	for (size_t x=0; x<g_vExtenderList.size(); x++)
	{
		ret = g_vExtenderList[x]->execute(args);

		if (!ret->isException())
			break;
	}

	g_ItemLock.unlock();
	return ret;
}
开发者ID:BlastarIndia,项目名称:Desurium,代码行数:20,代码来源:jsItem.cpp


示例10: log

	void log(const std::string& message)
	{
		mutex.lock();
		os << "logger: " << message << "\n";
		mutex.unlock();
	}
开发者ID:gitprofit,项目名称:httpsrvr,代码行数:6,代码来源:Logger.hpp


示例11: register_thread_init

// worker线程初始化完成后通知master线程
void register_thread_init() {
    s_init_lock.Hold();
    ++s_init_count;
    pthread_cond_signal(&s_init_cond);
    s_init_lock.Release();
}
开发者ID:lj-211,项目名称:go_fight,代码行数:7,代码来源:go_net.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ thread::ThreadData类代码示例发布时间:2022-05-31
下一篇:
C++ thread::Condition类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap