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

广告设计网站哪个好今日国家新闻

广告设计网站哪个好,今日国家新闻,镇江当地网站,济南网站建设搜点网络目录 创建多线程 1.普通函数充当线程处理函数创造线程 2.Lambda表达式充当线程处理函数 3.带参函数创建线程 3.1普通参数 3.2传入引用 3.3智能指针充当函数参数 4.通过类中的成员函数创建 4.1仿函数方式创建:类名的方式调用 4.2普通类中的成员函数 创建多…

目录

创建多线程

1.普通函数充当线程处理函数创造线程

2.Lambda表达式充当线程处理函数

3.带参函数创建线程

3.1普通参数

3.2传入引用

3.3智能指针充当函数参数

4.通过类中的成员函数创建

4.1仿函数方式创建:类名的方式调用

4.2普通类中的成员函数


创建多线程

1.普通函数充当线程处理函数创造线程

#include <thread>
#include <iostream>
using namespace std;
void ThreadPrint()
{cout << "线程启动" << endl;
}
void ThreadOpen()
{thread t1(ThreadPrint);//无输入无返回值的函数t1.join();
}
int main()
{ThreadOpen();return 0;
}

2.Lambda表达式充当线程处理函数

#include <thread>
#include <iostream>
using namespace std;void ThreadLambda()
{thread t1([]() {cout << "Lambda表达式充当线程处理函数" << endl; });t1.join();
}
int main()
{ThreadLambda();return 0;
}

3.带参函数创建线程

3.1普通参数

#include <thread>
#include <iostream>
using namespace std;void WhatYourYear(int num)//const int num 也是可以的
{cout << "your year:" << num << endl;
}
void ThreadHaveInt(int Pnum)//创建带参数的普通线程,你需要有这个数
{int num = 1;thread t1(WhatYourYear, num);t1.join();thread t2(WhatYourYear, Pnum);t2.join();
}
int main()
{ThreadHaveInt(9);return 0;
}

3.2传入引用

#include <thread>
#include <iostream>
using namespace std;void IntoRef(int& num)//如果加上const,把 num=1001删除
{num = 1001;cout << "子线程" << num << endl;
}
void ThreadHaveRef()
{int num = 0;thread t1(IntoRef, ref(num));//这里thread后面传入的为&&,所以对num要包装引用作为传递的值t1.join();cout << "主线程" << num << endl;
}
int main()
{ThreadHaveRef();return 0;
}

3.3智能指针充当函数参数

因为智能指针是不能被复制的,而是具有所有权的资源管理对象,因此不能直接传递给子线程的函数。

所以通过使用move函数,来将智能指针ptr从主线程移动到新的子线程中,将ptr的所有权转移到子线程中,以便在子线程中正确访问智能指针的资源,可以实现将智能指针的所有权从一个上下文转移到另一个上下文。

#include <thread>
#include <iostream>
using namespace std;void printPtr(unique_ptr<int> ptr)
{cout << "智能指针" << ptr.get()<< endl;
}
void ThreadSmartPtr()
{unique_ptr<int> ptr(new int(100));cout << "主线程打印:" << ptr.get() << endl;thread t1(printPtr, move(ptr));//move语句作为处理t1.join();cout << "转移后的主线程打印:" << ptr.get() << endl;//是空的
}
int main()
{ThreadSmartPtr();return 0;
}

4.通过类中的成员函数创建

4.1仿函数方式创建:类名的方式调用

#include <thread>
#include <iostream>
using namespace std;class TestFunction
{
public:void operator()(){cout << "重载()" << endl;}
};
void ThreadOperator()
{TestFunction TF1;//直接通过类创建对象,将对象传入线程thread t1(TF1);//这样就会调用一下void operator()()t1.join();//匿名对象thread t2((TestFunction()));//多加一个()帮助进行解析t2.join();
}
int main()
{ThreadOperator();return 0;
}

4.2普通类中的成员函数

#include <thread>
#include <iostream>
using namespace std;class LH
{
public:void print(int& num)//自己选择用什么模式的函数{cout << "people:" << num << endl;}
};
void ThreadClassOne()
{LH a;//指定对象int num = 1;thread t1(&LH::print, a, ref(num));//哪个类的函数,哪个对象,传入的值t1.join();
}
int main()
{ThreadClassOne();return 0;
}

http://www.zhongyajixie.com/news/42788.html

相关文章:

  • 免费建站并且绑定域名泉州百度关键词优化
  • 聊城开发区建设局网站福州百度seo代理
  • 自己开网站能赚钱吗营销战略
  • 有免费的网站域名吗北京本地网络推广平台
  • 怎么做网站管理朋友圈广告代理商官网
  • 做平面什么网站好用2022适合小学生的简短新闻摘抄
  • 官方网站建设 磐石网络多少费用今日头条收录入口
  • 兰州网站建设关键词排名seo
  • 何做百度推广网站网站搭建公司哪家好
  • 鞍山做网站排名如何让新网站被收录
  • 烟台百度网站建设企业老板培训课程
  • 如何建设网站 知乎网页推广怎么做
  • 外贸网站如何做的好百度seo关键词优化推荐
  • 临海建设局网站网站在线生成app
  • 财税公司做网站网站点击快速排名
  • 中国做外贸的网站有哪些内容武汉关键词排名提升
  • 做外贸产品上什么网站网络推广员工资多少钱
  • 合肥知名网站制作公司音乐接单推广app平台
  • 用jsp做网站的体会企业网站制作步骤
  • 沐风 wordpress 主题网站优化网站
  • asp网站缺点怎么制作网站?
  • 外文网站做t检验分析搜狗首页排名优化
  • 仿做唯品会网站郑州seo联系搜点网络效果好
  • 兰州小程序定制开发seo优化网站网页教学
  • wordpress悬浮窗插件seo基础知识培训视频
  • 在线做英语题的网站微信上怎么做广告推广
  • 国家城乡建设部投诉网站百度推广管家登录
  • 网站的弹窗是怎么做的seo日常工作都做什么的
  • 惠州私人做网站联系人企业seo整站优化方案
  • 网站刚建好怎么做能让百度收录最新热搜新闻