C++ Thread 源码 观后 自我感悟 整理

news2024/11/20 15:49:23

Thread的主要数据成员为_Thr

里面存储的是线程句柄和线程ID

先看看赋值运算符的移动构造

最开始判断线程的ID是否不为0

_STD就是使用std的域

如果线程ID不为0,那么就抛出异常

这里_New_val使用了完美转发,交换_Val和_New_val的值

_Thr = _STD exchange(_Other._Thr, {});

这里应该是把_Other._Thr的值赋值给_Thr,然后将_Other._Thr的值置空

最后返回线程本身

第一个判断我们已经看了,就是判断_Thr_Id != 0

如果_Thr_Id == 0了,则抛出异常

第二个我看了_Thrd_id()其实就是一个unsigned int,但是具体是什么我不知道,ID出问题了会抛出异常吧

第三个,是线程启动不成功,则抛出异常

主要这里是_Thrd_detach的调用,使得线程分离

这里也用了完美转发,也是Thread的构造函数

enable_if_t:

这里必须要模板参数为整形才能调用isInt

参考文章:C++(11):enable_if_t-CSDN博客

std::is_same_v:判断输入的类型是否是指定的模板类型

_Start函数内,就把函数和参数信息给到了_Thr._Hnd线程句柄上去了


定义类,还可以这么去玩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1539566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BRAM底层原理详细解释(1)

目录 一、原语 二、端口简述 2.1 端口简介 2.2 SDP端口映射 三、端口信号含义补充说明 3.1 字节写使能(Byte-Write Enable)- WEA and WEBWE: 3.2 地址总线—ADDRARDADDR and ADDRBWRADDR 3.3 数据总线—DIADI, DIPADIP, DIBDI, and D…

Pycharm小妙招之Anaconda离线配环境

Pycharm小妙招之Anaconda离线配环境———如何给无法联网的电脑配python环境? 1. 预备工作2. 电脑1导出包2.1 环境路径2.2 压缩py38导出至U盘 3. 电脑2导入包4. 验证是否导入成功4.1 conda查看是否导入4.2 pycharm查看能否使用 1. 预备工作 WINDOWS系统电脑1(在线)…

AI跟踪报道第34期-新加坡内哥谈技术-AI新闻快报:世界即将改变

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

手撕算法-买卖股票的最佳时机(买卖一次)

描述 分析 只能买卖一次。希望在最低处买,最高处卖。 怎么判断最低处?遍历时存储已遍历的最小值。 怎么判断最高处?遍历时,比较当前位置和最小值的差,取较大的。 代码 class Solution {public int maxProfit(int…

HCIP实验02

实验步骤 1、R1和R2使用ppp链路之连,R2和R3把2条ppp链路捆绑为ppp直连 [R2]int Mp-group 0/0/0 [R2]int Serial 3/0/1 [R2-Serial3/0/1]ppp mp Mp-group 0/0/0 [R2-Serial3/0/1]int Serial 4/0/0 [R2-Serial4/0/0]ppp mp Mp-group 0/0/0 [R3]int Mp-group 0/0/…

基于Java中的SSM框架实现矿场仓储管理系统项目【项目源码+论文说明】

基于Java中的SSM框架实现矿场仓储管理系统演示 摘要 随着数字化的建设,根据当时的发展和用户的需求,选择使用矿产资源管理的信息都是可以用作示范。物质生活已经达到了人们的基本要求,人们追求生活层次越来越高,享受生活成为人们…

python内置装饰器

python内置装饰器 内置装饰器 不用实例化、直接调用提升代码的可读性 内置装饰器:classmethod类方法、staticmethod静态方法 普通方法 定义:第一个参数为self,代表 实例本身调用:要有实例化的过程,通过 实例对象.方法名 调用 …

JavaSE——数据类型与变量

1. 数据类型 在 Java 中数据类型主要分为两类: 基本数据类型 和 引用数据类型 。 基本数据类型有 四类八种 : 1. 四类:整型、浮点型、字符型以及布尔型 2. 八种: 数据类型关键字内存占用范围字节型byte1 个字节-128~127短整型…

「渗透笔记」致远OA A8 status.jsp 信息泄露POC批量验证

前言部分 在本节中,我会分两部分来说明致远OA A8 status.jsp 信息泄露的验证问题,其实就是两种验证方式吧,都一样,都是批量验证,主要如下所示: 通过Python脚本进行批量验证,但是前提是你可以收…

rider下ef core迁移

新建数据库 create database mockstu新建web项目 安装Microsoft.EntityFrameworkCore.SqlServer包 设置连接字符串 新建model using MockStuWeb.Models.EnumTypes; using System.ComponentModel.DataAnnotations;namespace MockStuWeb.Models {/// <summary>/// 学生…

Redis实战篇-1

实战篇Redis 开篇导读 短信登录 这一块我们会使用redis共享session来实现 商户查询缓存 通过本章节&#xff0c;我们会理解缓存击穿&#xff0c;缓存穿透&#xff0c;缓存雪崩等问题&#xff0c;让小伙伴的对于这些概念的理解不仅仅是停留在概念上&#xff0c;更是能在代码…

vs2019新建Qt工程中双击 .ui 文件无法打开

vs2019 中创建的 Qt 工程&#xff0c;在使用的过程中&#xff0c;经常会有&#xff1a;双击 .ui 文件&#xff0c;闪退的情况&#xff0c;也即 .ui 文件无法打开&#xff01; 针对该问题的详细解决步骤如下&#xff1a; 1、右击该 .ui 文件&#xff0c;选择“打开方式” 2、…

思通舆情 是一款开源免费的舆情系统 介绍

思通舆情 是一款开源免费的舆情系统。 支持本地化部署&#xff0c;支持在线体验。 支持对海量舆情数据分析和挖掘。 无论你是使用者还是共同完善的开发者&#xff0c;欢迎 pull request 或者 留言对我们提出建议。 您的支持和参与就是我们坚持开源的动力&#xff01;请 sta…

【数据结构基础】之八大排序(C语言实现)

【数据结构基础】之八大排序(C语言实现&#xff09; &#x1f427; 冒泡排序♈️ 冒泡排序原理及代码实现♈️ 稳定性分析 &#x1f427; 选择排序♈️ 选择排序原理及代码实现♈️ 稳定性分析 &#x1f427; 插入排序♈️ 插入排序的原理及代码实现♈️ 稳定性分析 &#x1f4…

【数据结构】猛猛干7道链表OJ

前言知识点 链表的调试技巧 int main() {struct ListNode* n1(struct ListNode*)malloc(sizeof(struct ListNode));assert(n1);struct ListNode* n2(struct ListNode*)malloc(sizeof(struct ListNode));assert(n2);struct ListNode* n3(struct ListNode*)malloc(sizeof(struc…

GAMMA数据处理问题(七)

phase_sim_orb报这个错是什么原因呢&#xff0c;说是我的hgt文件和模拟的干涉图行数不匹配&#xff0c;之前geocode生成hgt的参数不是在mli.par文件中看吗&#xff0c;为什么会出现行数不匹配的情况啊&#xff0c;难道不是par文件中里面看&#xff1f;&#xff1f;&#xff1f;…

力扣hot100:153. 寻找旋转排序数组中的最小值(二分的理解)

由力扣hot100&#xff1a;33. 搜索旋转排序数组&#xff08;二分的理解&#xff09;-CSDN博客&#xff0c;我们知道二分实际上就是找到一个策略将区间“均分”。对于旋转数组问题&#xff0c;在任何位置分开两个区间&#xff0c;如果原区间不是顺序的&#xff0c;分开后必然有一…

[ROS 系列学习教程] rqt可视化工具箱 - Topic工具

ROS 系列学习教程(总目录) 本文目录 一、Message Publisher二、Message Type Browser三、Topic Monitor 一、Message Publisher Message Publisher 可以通过可视化界面发布topic。 启动方法&#xff1a; 在 rqt 窗口依次点击 Plugins -> Topics -> Message Publisher 启…

抖音平台热销的本腾和新讯随身WiFi,哪个更靠谱,更值得购买?

经常有粉丝朋友摆脱小编测评一下在某短视频平台上面非常火爆的两款随身WiFi&#xff0c;本腾随身WiFi和新讯随身WiFi到底哪个更好。今天&#xff0c;小编就为大家带来最真实的体验测评。 一、外观和产品 这方面新讯要比本腾做的更好&#xff0c;本腾的设备相对单一一些。新讯则…

关于Java发邮件提醒写周报实现(二)代码编写

背景 由于公司每周都要写周报&#xff0c;而日常工作很忙&#xff0c;所以很容易忘记这件事件&#xff0c;因此开发一个写周报提醒的机器人&#xff0c;进行特定时间提醒是时候写周报了。 有一个大前提&#xff0c;本技术实现&#xff0c;本着不开通任何收费服务的态度去考察使…