C++线程池 基于Cpp98的实现 学习2 未完待续
简介
用到了太多的C++11的知识点,所以,暂时学点别的再搞这个。
C++11
特殊函数的认识
- delete defalut在C++11的作用可以参考这篇文章
https://blog.csdn.net/lmb1612977696/article/details/80035487
简而言之,default可以要求编译器生成默认的构造函数。
delete可以要求编译器或者模板构造函数不生成对应的函数。 - 关于joinable的函数的意思,参考链接 https://blog.csdn.net/Charles_Zaqdt/article/details/104134965
joinable()函数是一个布尔类型的函数,他会返回一个布尔值来表示当前的线程是否是可执行线程(能被join或者detach),因为相同的线程不能join两次,也不能join完再detach,同理也不能detach,所以joinable函数就是用来判断当前这个线程是否可以joinable的。通常不能被joinable有以下几种情况:
1)由thread的缺省构造函数而造成的(thread()没有参数)。
2)该thread被move过(包括move构造和move赋值)。
3)该线程被join或者detach过。
- 关于functional 头文件的认识可以参考下面两篇文章
function相当于一个简单的函数包装器,可以包装
functions(普通函数), lambda expressions(lambda 表达式), bind expressions(bind 表达式,bind 猜测应该是对于一个函数的绑定), or other function objects,
as well as pointers to member functions(类的成员函数) and pointers to data members(结构体的数据成员?).
https://www.cnblogs.com/ChenchenLu/p/5315336.html 中文有例子
https://en.cppreference.com/w/cpp/utility/functional/function 英文更全面
C++线程池 基于Cpp98的实现 学习2 未完待续的更多相关文章
- Go web编程学习笔记——未完待续
1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...
- linux学习笔记---未完待续,缓慢更新
做为linux菜鸟,由于work的需要,慢慢的开始接触学习linux. <鸟哥的linux私房菜>学习笔记. 一.基础命令操作 1.显示日期的命令 date 执行date命令后,显示结果为 ...
- Papers | 超分辨 + 深度学习(未完待续)
目录 1. SRCNN 1.1. Contribution 1.2. Inspiration 1.3. Network 1.3.1. Pre-processing 1.3.2. Patch extra ...
- c++课程学习(未完待续)
关于c++课程学习 按照计划,我首先阅读谭浩强c++程序设计一书的ppt,发现第一章基本上都是很基础的东西. 同时,书中与班导师一样,推荐了使用visual c++. 而师爷的教程里面推荐使用的是ec ...
- Java学习笔记(未完待续)
变量的作用域(scope)是指变量可以在程序中引用的范围.在方法中定义的变量称为局部变量(local variable).局部变量的作用域从声明变量的地方开始,直到包含该变量的块结束为止.局部变量都必 ...
- jQuery 学习笔记(未完待续)
一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById()函数 2.使 ...
- oracle-绑定变量学习笔记(未完待续)
--定义变量SQL> var a number; --给绑定变量赋值SQL> exec :a :=123; PL/SQL procedure successfully completed. ...
- Greys学习笔记(未完待续)
Greys介绍 greys-anatomy是一个Java线上诊断工具,取名来自美剧<实习医生格雷>,由菜鸟-杜琨同学开发维护.比我们常用的脚本工具btrace提供更多的功能,greys采用 ...
- sql语句学习及索引学习,未完待续,补充增删改查
1,查询出last_name 为 'Chen' 的 manager 的信息. select * fromwhere employee_id = ( selectfrom employees wher ...
- Java开发中的23+2种设计模式学习个人笔记(未完待续)
注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...
随机推荐
- Docker开启远程守护进程访问
默认情况下,Docker守护进程监听Unix套接字上的连接,以接受来自本地客户端的请求.通过将Docker配置为侦听IP地址和端口以及Unix套接字,可以允许Docker接受来自远程主机的请求.有关此 ...
- Tomcat无法启动报错:'Starting Tomcat v9.5 Server at localhost' has encountered a problem
错误提示 控制台提示 严重: A child container failed during start java.util.concurrent.ExecutionException: org.ap ...
- Linux 常识和操作(常用命令)
1. 存放用户账号的文件在哪里? /etc/passwd 2. 如何删除一个非空的目录? rm -rf 目录名 3. 查看当前的工作目录用什么命令? pwd 4. 创建一个文件夹用什么命令? mkdi ...
- SQL优化 - 同比计算
记录一次SQL优化, 在计算同比的时候. 就太久没有写语句了, 能力在逐渐下滑, 思维也是, 感觉还是有点可怕的. 自从转业务以来, 就基本没有碰过代码这方面了. 甚至连 SQL 都开始要搜索了. 而 ...
- 鸿蒙 NEXT(二):API12 带来的变革与创新
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- 关于dpnet项目
关于dpnet项目 dpnet是我开源的一个轻量异步框架,主要用于利用多核优势执行异步任务,处理异步IO. 起初并没有独立的dpnet项目,所有功能集成在另一个项目dplua中. 提到异步,实现方案必 ...
- odoo14里面给所有模型添加方法
给所有的model都添加一个方法, 即所有的model都能调用[类似于create.write.unlink.read]. 方式一: from odoo import api, fields, mod ...
- 使用IntelliJ IDEA 比对文件内容差异
摘要:使用IntelliJ IDEA 比对文件内容差异部分,迅速定位修改点. 在敲代码的过程中,经常需要比较两个代码文件的内容差异,很多人会去网上找文件比较工具来处理,其实 IntelliJ ID ...
- HTTP请求中Content-Type的取值讲解
在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息(MediaType),下面先看看请求信息的定义,MediaType,即Internet Media Type,互 ...
- Docker下如何实现镜像多阶级构建?
Docker下如何实现镜像多阶级构建? 在Docker早期版本中,对于编译型语言(例如C.Java.Go)的镜像构建,我们只能将应用的编译和运行环境的准备,全部放在一个Dockerfile里面,这就导 ...