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

移动公司需要网络工程专业来宾网站优化

移动公司需要网络工程专业,来宾网站优化,摄影网站难做吗,网站建设公司营业执照2023年9月10日#xff0c;周日下午开始 2023年9月10日#xff0c;周日晚上23:35完成 虽然这篇博客我今天花了很多时间去写#xff0c;但是我对std::thread有了一个完整的认识 不过有些内容还没完善#xff0c;以后有空再更新.... 目录 头文件类的成员类型方法(construc…2023年9月10日周日下午开始 2023年9月10日周日晚上23:35完成 虽然这篇博客我今天花了很多时间去写但是我对std::thread有了一个完整的认识 不过有些内容还没完善以后有空再更新.... 目录 头文件类的成员类型方法(constructor)terminate called without an active exception是什么operationget_idjoinablejoindetachnative_handleswaphardware_concurrency 头文件 #includethread 类的成员 类型 id 线程ID公共成员类型 native_handle_type 本地句柄类型公共成员类型 方法 (constructor) 构造线程公共成员函数 (destructor) 线程析构函数公共成员函数 operator 移动赋值线程公共成员函数 get_id 获取线程ID公共成员函数 joinable 检查是否可加入公共成员函数 join 加入线程公共成员函数 detach 分离线程公共成员函数 swap 交换线程公共成员函数 native_handle 获取本地句柄公共成员函数 hardware_concurrency [static] 检测硬件并发性公共静态成员函数 (constructor) 该构造函数用来创建线程并执行传入的函数 #include iostream #includethread void func() {std::cout func executes! std::endl; }int main() {std::thread t1(func);return 0; }这里的“terminate called without an active exception”暂时不用管 terminate called without an active exception是什么 terminate called without an active exception是一个C程序运行时可能遇到的异常信息。 它表示程序在没有活动异常的情况下被终止了。 这个异常通常发生在以下情况下 程序主动调用了std::terminate()函数来终止程序的执行。这可能是因为程序遇到了无法处理的错误或异常情况。程序由于未捕获的异常而终止。当程序抛出一个未捕获的异常时如果没有其他活动的异常系统会调用std::terminate()来终止程序。程序由于某些特定的终止条件而被操作系统或其他外部因素终止。例如操作系统可能会根据内存使用情况或其他资源限制来终止程序。 operation 在C中std::thread类提供了operator运算符重载函数用于将一个线程对象赋值给另一个线程对象。使用operator可以将一个线程对象的控制转移到另一个线程对象从而实现线程的交换或转移。这意味着调用operator后原线程对象将结束执行而新线程对象将开始执行之前正在执行的代码。 get_id 该方法用来获取线程ID #include iostream #includethread void func() {std::cout func executes! std::endl; }int main() {std::thread t1(func);std::coutID of thread t1 is t1.get_id()std::endl;return 0; }可以看到线程ID为2 joinable 什么是join呢join是什么意思 在线程中join指的是等待一个线程执行完毕并返回结果后再继续执行主线程。当主线程调用子线程的join方法时主线程会阻塞并等待子线程执行完成。这样可以确保所有线程按照预期的顺序执行并且最后的结果是正确的。 那不用join会发生什么事情呢 主线程不会等待子线程完成这样有可能子线程还没执行完主线程就结束了。 #include iostream #includethread void func() {std::cout func executes! std::endl; }int main() {std::thread t1(func);std::coutID of thread t1 is t1.get_id()std::endl;if(t1.joinable())std::coutjoinable: turestd::endl;elsestd::coutjoinable: falsestd::endl;return 0; }join 上面已经说过所以不再赘述 #include iostream #includethread void func() {std::cout func executes! std::endl; }int main() {std::thread t1(func);std::coutID of thread t1 is t1.get_id()std::endl;if(t1.joinable())std::coutjoinable: turestd::endl;elsestd::coutjoinable: falsestd::endl;t1.join();return 0; }值得注意的是没有了“terminate called without an active exception” detach 什么是detach呢detach是什么意思 分离线程的主要目的是允许主线程在子线程执行一些耗时的操作时继续执行其他任务。通过分离线程主线程可以避免被阻塞从而提高程序的整体效率。 使用detach和不使用join有什么区别 目前我还没搞懂....以后弄懂了再更新 #include iostream #includethread void func() {for(int i0;i10000;i){//让线程休眠1秒std::this_thread::sleep_for(std::chrono::seconds(1));std::cout func executes! std::endl;} }int main() {std::thread t1(func);t1.detach();//让主线程给子线程足够的执行时间for(int i0;i10000;i)std::this_thread::sleep_for(std::chrono::seconds(1);return 0; }native_handle C标准库中的native_handle是一个低级接口,可以获取底层操作系统的句柄(handle)。 native_handle主要用于一些需要直接与操作系统交互的低级场景。 swap swap()函数的作用是将两个线程对象的控制转移到彼此从而实现线程的交换。这意味着调用swap()后两个线程将开始执行对方之前正在执行的代码。 #include iostream #include threadvoid threadFunction1() {// 线程1的代码for(int i0;i10000;i){//让线程休眠1秒std::this_thread::sleep_for(std::chrono::seconds(1));std::cout Thread 1 is running. std::endl;}}void threadFunction2() {// 线程2的代码for(int i0;i10000;i){//让线程休眠1秒std::this_thread::sleep_for(std::chrono::seconds(1));std::cout Thread 2 is running. std::endl;} }int main() {std::thread t1(threadFunction1); // 创建线程1std::thread t2(threadFunction2); // 创建线程2t1.swap(t2); // 交换线程1和线程2的状态t1.join(); // 等待线程1结束t2.join(); // 等待线程2结束return 0; }hardware_concurrency 在C中hardware_concurrency是一个用于确定系统上可用的处理器核心数量的函数。它返回一个整数值表示可以并行执行的最大线程数。通常hardware_concurrency()函数返回的值取决于底层操作系统和硬件平台。 #include iostream #include threadint main() {unsigned int numThreads std::thread::hardware_concurrency();std::cout Number of available processor cores: numThreads std::endl;return 0; }可以看到我的最大并行线程数是8这是由我电脑的CPU决定的。
http://www.tj-hxxt.cn/news/223599.html

相关文章:

  • 2016年网站设计风格中国十大广告公司排名
  • 金融企业网站整站源码蔚县网站建设公司
  • 嘉兴seo网站建设网站设计步骤图片
  • 维护公司网站建设台州网站建设惠店科技
  • 做校园网站在线建筑设计
  • 石家庄市市政建设工程公司网站南昌优化网站推广
  • 济南做网站找哪家好上海快速网站建设
  • 东莞网络推广网站微信公众号商城开发费用
  • 亚马逊官方网站的建设综合网站系统
  • 网站建设zg886安徽建网站
  • 做网站充值系统php做购物网站怎么样
  • 旅游网网站建设方案廊坊教育云网站建设
  • 网站建设 博贤科技苏州地产网站建设
  • 哪些网站适合推广天津做网站美工
  • 加强心理咨询网站的建设推广计划地域设置的作用描述不正确的是
  • 个人可以做建站网站么百度竞价排名规则及费用
  • 手机网站模板尺寸站长工具特级a免费
  • 做企业网站要用什么软件phpstudy2016快速搭建网站
  • 强化 门户网站建设网站制作的收费
  • 做网站的云服务器选什么网站建设的风险识别
  • 论医院网站的建设网站开发 图片
  • 科技感网站模板茂名模板建站代理
  • 织梦新闻门户网站模板 原创精品怎么才能访问自己做的网站
  • html5 做网站网站建设谈单思路
  • 网站建设 苏州建设银行中国网站
  • 网站添加背景音乐宁波外贸公司招聘
  • 家政服务网站做推广有效果吗获取排名
  • 商丘哪里做网站手机大全及价格
  • 做外贸的网站需要什么网站还需要备案么
  • app ui设计网站常州网站制作企业