当前位置: 首页 > news >正文

徐州市建筑工程交易网合肥网站关键词优化公司

徐州市建筑工程交易网,合肥网站关键词优化公司,网站源码免费下载分享论坛,手把手教建设网站在某些特定情况下,某些函数只能在多线程环境下调用一次,比如:要初始化某个对象,而这个对象只能被初始化一次,就可以使用std::call_once()来保证函数在多线程环境下只能被调用一次。使用call_once()的时候,需…

在某些特定情况下,某些函数只能在多线程环境下调用一次,比如:要初始化某个对象,而这个对象只能被初始化一次,就可以使用std::call_once()来保证函数在多线程环境下只能被调用一次。使用call_once()的时候,需要一个once_flag作为call_once()的传入参数,该函数的原型如下:

// 定义于头文件 <mutex>
template< class Callable, class... Args >
void call_once( std::once_flag& flag, Callable&& f, Args&&... args );
  • flag:once_flag类型的对象,要保证这个对象能够被多个线程同时访问到
  • f:回调函数,可以传递一个有名函数地址,也可以指定一个匿名函数
  • args:作为实参传递给回调函数

多线程操作过程中,std::call_once()内部的回调函数只会被执行一次,示例代码如下:

#include <iostream>
#include <thread>
#include <mutex>
using namespace std;once_flag g_flag;
void do_once(int a, string b)
{cout << "name: " << b << ", age: " << a << endl;
}void do_something(int age, string name)
{static int num = 1;call_once(g_flag, do_once, 19, "luffy");cout << "do_something() function num = " << num++ << endl;
}int main()
{thread t1(do_something, 20, "ace");thread t2(do_something, 20, "sabo");thread t3(do_something, 19, "luffy");t1.join();t2.join();t3.join();return 0;
}

do_once函数只被调用了一次

http://www.yidumall.com/news/29468.html

相关文章:

  • 模板兔自用主题WordPress在线seo关键词排名优化
  • 接了做网站的单子流程培训机构管理系统
  • 邯郸网站制作费用深度搜索
  • 网站后台界面seo入门黑帽培训教程
  • 市场调研网站有哪些网络舆情监测
  • 怎么把图片做超链接到网站怎么做网址
  • 做网站的是干嘛的百度账号人工客服电话
  • 凤岗镇网站建设公司百度导航最新版本
  • 用rp怎么做网站原型优化师助理
  • 化妆品网站建设策划方案域名停靠网页推广大全2021
  • 如何做攻击类型网站网络营销研究背景及意义
  • 外部调用wordpress 热门文章北京优化网站推广
  • 网页设计建网站流程seo网站优化
  • 梧州seo公司谈谈对seo的理解
  • 杭州市下城区建设厅网站培训心得体会800字
  • 建筑做地图分析的网站郑州网站seo
  • 网站建设地址北京昌平客户引流的最快方法是什么
  • 网站设关键字湖南百度推广开户
  • 网站栏目标题国内的搜索引擎排名
  • 30个让人兴奋的视差滚动网站长沙百度推广开户
  • 哈尔滨网站建设哪家好湖南网站设计外包费用
  • 安全的营销型网站制作近三天时政热点
  • 嘉兴快速建站合作磁力狗bt
  • 做有弹幕视频网站关键词排名优化技巧
  • 一个专门做澳洲直邮的网站吗网站建设方案设计书
  • 网站 欣赏企业网络推广的方式有哪些
  • 佛山新网站建设特色2345网址导航官网下载
  • wordpress download manager厦门关键词优化seo
  • 中国移动官方网站登录入口seo快速推广窍门大公开
  • 合肥网站建设 一浪搜狗友链交换