C++中为什么gsl::joining_thread好于std::thread

技术C++中为什么gsl::joining_thread好于std::thread本篇内容主要讲解“C++中为什么gsl::joining_thread好于std::thread”,感兴趣的朋友不妨来看看。本文介绍的方法

本文主要解释“为什么GSL gsl:joining_thread比C中的std:thread好”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖学会“为什么GSL gsl:joining_thread比C中的std:thread好”!

CP.25: gsl::joining_thread好于std::thread

Reason(原因)

Joining _ thread是一个与作用域链接的线程。分离的线程很难监控。很难保证分离后的线程没有错误(或者有分离的潜在可能)。

Example, bad(反面示例)

void f(){ STD : cout ' Hello ';}

结构F {

void运算符()()const { STD :3360 cout ' parallel world ';}

};

int main()

{

STD : thread t1 { f };//f()在单独的线程中执行

STD : thread T2 { F()};//F()()在单独的线程中执行

} //找出bug

Example(示例)

void f(){ STD : cout ' Hello ';}

结构F {

void运算符()()const { STD :3360 cout ' parallel world ';}

};

int main()

{

STD : thread t1 { f };//f()在单独的线程中执行

STD : thread T2 { F()};//F()()在单独的线程中执行

t1 . join();

T2 . join();

} //留下一个坏错误

Note(注意)

制作“不朽线程”全局,将它们放在一个封闭范围内,或者将它们放在自由存储上,而不是分离()。别说了。

将“始终有效的线程”定义为全局的,将它们限制在一个封闭的范围内,或者将它们放在自由存储中,而不是将它们分开。不要分离螺纹。

Note(注意)

由于使用std:thread的旧代码和第三方库,这个规则可能很难引入。

因为std:thread被旧代码和第三方库使用,所以很难推广这个指南。

Enforcement(实施建议)

标志使用ofstd:thread:

标有std:thread的代码:

建议使用ofgsl:joining _ threador或C 20std:jthread。

建议使用GSL gsl:joining_thread或者C 20推出的std:jthread。

如果分离,建议将所有权“导出”到封闭范围。

如果需要分离线程,建议将所有权“输出”到一个封闭的范围。

如果线程是连接还是分离不明显,则发出警告。

如果很难判断线程是会连接还是会分离,就报警。

至此,相信大家对“为什么GSL gsl:joining_thread比C中的std:thread好”有了更深的理解,那我们就来做点什么吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116972.html

(0)

相关推荐

  • 1317:【例5.2】组合的输出 深搜题解

    技术1317:【例5.2】组合的输出 深搜题解 1317:【例5.2】组合的输出 深搜题解1317:【例5.2】组合的输出
    时间限制: 1000 ms 内存限制: 65536 KB提交数: 2425

    礼包 2021年11月1日
  • 数据库中编码乱码怎么办

    技术数据库中编码乱码怎么办小编给大家分享一下数据库中编码乱码怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 使用 <META htt

    攻略 2021年11月24日
  • Python中如何实现Scrapy+adbapi提高数据库写入效率

    技术Python中如何实现Scrapy+adbapi提高数据库写入效率今天就跟大家聊聊有关Python中如何实现Scrapy+adbapi提高数据库写入效率,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下

    攻略 2021年10月21日
  • Qt 实现涂鸦板二:实现放大功能

    技术Qt 实现涂鸦板二:实现放大功能 Qt 实现涂鸦板二:实现放大功能在一的基础上改造:
    .h 文件#pragma once#include QtWidgets/QWidget
    #include "ui

    礼包 2021年11月5日
  • 青菜炒鸡蛋的做法,菠菜炒鸡蛋的制作方法是什么

    技术青菜炒鸡蛋的做法,菠菜炒鸡蛋的制作方法是什么菠菜炒鸡蛋是一道地道的家常菜。但是要想做得好吃青菜炒鸡蛋的做法,也不是像辣椒炒鸡蛋那样简单混合一炒就好的。菠菜炒鸡蛋的家常做法:1、菠菜摘去黄叶洗净。
    2、坐锅烧水,水开放

    生活 2021年10月27日
  • 同性恋的原因,同性恋和父母的基因有关系吗

    技术同性恋的原因,同性恋和父母的基因有关系吗引起同性恋的原因同性恋的原因,至今没有肯定的说法,一般认为同性恋和以下因素有关:
    一,遗传因素:即生物学因素,有人发现同性恋者,在同卵双生子中远比异卵双生子中多见。
    二,儿童角

    生活 2021年10月30日