C++多线程与并发类面试题
摘要:题目来源: https://subingwen.cn/cpp/thread/ https://mp.weixin.qq.com/s?__biz=Mzg4NDQ0OTI4Ng==&mid=2247489580&idx=1&sn=b9ac83040601230ff897f3394e956cea&chks
阅读全文
Qt面试题
摘要:Qt三大核心机制 ??? 什么是Qt的元对象系统? Qt的元对象系统是Qt框架中一个核心的组成部分, 提供了一种机制来拓展C++的功能, Qt的元对象系统(Meta-ObiectSystem) 提供了对象之间通信的信号与槽机制、运行时类型信息和动态属性系统。 元对象系统由以下三个基础组成。 1. Q
阅读全文
C++线程同步之条件变量
摘要:条件变量需要和互斥量配合起来使用,C++11提供了两种条件变量: condition_variable:需要配合std::unique_lockstd::mutex进行wait操作,也就是阻塞线程的操作。 condition_variable_any:可以和任意带有lock()、unlock()语义
阅读全文
C++线程同步之互斥锁
摘要:文章链接:https://subingwen.cn/cpp/mutex/ 文章视频在本地 线程同步 线程同步不是说让多个线程同时去做事情 而是让多个线程有序的访问或操作 共享资源 在C++11中一共提供了四种互斥锁: std::mutex:独占的互斥锁,不能递归使用 std::timed_mutex
阅读全文
call_once()
摘要:call_once std::call_once()来保证函数在多线程环境下只能被调用一次。使用call_once()的时候,需要一个once_flag作为call_once()的传入参数,该函数的原型如下: // 定义于头文件 template< class Callable, class...
阅读全文
thread的任务函数
摘要:thread 任务函数f的可选类型有很多,具体如下: 普通函数,类成员函数,匿名函数,仿函数(这些都是可调用对象类型) 可以是可调用对象包装器类型,也可以是使用绑定器绑定之后得到的类型(仿函数)
阅读全文
进度
摘要:9-24凌晨1.30看 76- 80 9-25凌晨0.20看 81-84 9-27 看了 85,由于看了博客,所以是没怎么看 看了86 关于互斥锁和互斥量的博客看了,87-95视频没有再看 直接从96开始看
阅读全文
C++多线程面试题
摘要:并发和并行 资源相对匮乏时,会进行并发,即多个线程分时复用CPU时间片。 资源足够充足时,一般是并行,每个线程独自占有一个CPU核心, 这些线程就不用分时复用CPU时间片,此时程序的并发效率是最高的。
阅读全文
thread常用函数
摘要:# get_id(): 这个获取线程ID的函数叫做get_id() join(): 再次强调,我们一定要搞清楚这个函数阻塞的是哪一个线程,函数在哪个线程中被执行,那么函数就阻塞哪个线程。 detach() detach()函数的作用是进行线程分离,分离主线程和创建出的子线程。在线程分离之后,主线程退
阅读全文
概述
摘要:在C++11前,C++并没有线程类,所以之前需要借助C语言的线程或者boost库中的线程类 C++11时,C++才有自己的线程类,但是总的来说,都是差不多的 emmm感觉看完大丙的,还是要看看恋恋风辰的 目前的感觉是大丙贴近概念,恋恋风尘有概念也有实际运用
阅读全文
对项目的理解
摘要:就以我目前所了解到的,项目中应该基本没有用到C++11的多线程 而是用boost库中asio的多线程模型来提高并发性
阅读全文
9-23
摘要:p5-6 beast实现http服务器以及get和post的请求 p6看到31min,后面直接看的文档,也没有错误 p6中讲对于get请求的解析以及利用jsoncpp将post相关数据进行序列化和反序列化 get请求的解析只是进行了解,up说也没有必要自己敲,因为通常实现http服务器都是用其他语言
阅读全文
9-22
摘要:p4为Boost和jsoncpp的配置 在网络学习时已经下载好了,直接配置就行 up说通常创建http服务器的时候,很少使用c++,因为c++实现http服务器不如其他语言方便,但是这个是介绍c++全栈的,因此,http服务器也是用c++来写的。 也就是说服务器的http使用c++编写 客户端的ht
阅读全文
9-21
摘要:p1实现登录和注册界面 但是qss的我没看 p2主要也是Qss的切换 只是看到15min p3 点击查看代码 使用 static 和 std::once_flag 的目的不同,通常情况下它们可以结合使用,但并不总是需要一起使用。以下是对这两者之间关系的详细说明,以帮助您决定在特定情况下是否需要同时使
阅读全文
9-20 beast实现http服务器
摘要:点击查看代码 void process_request() { response_.version(request_.version()); response_.keep_alive(false); switch (request_.method()) { case http::verb::get:
阅读全文
9-19
摘要:利用beast实现http服务器 (up讲的有手写http服务器,但是我没看,直接看的利用beast实现http服务器) 配置jsoncpp 文件一直链接不上,用了好长时间,所以利用beast实现http服务器也没有看 用了好几个小时才搞好: 下载的文件打开后的运行库 和 我自己的vs的运行库不一致
阅读全文
9-17
摘要:粘包原因 1 客户端的发送频率远高于服务器的接收频率,就会导致数据在服务器的tcp接收缓冲区滞留形成粘连,比如客户端1s内连续发送了两个hello world!,服务器过了2s才接收数据,那一次性读出两个hello world!。 2 tcp底层的安全和效率机制不允许字节数特别少的小包发送频率过高,
阅读全文
9-15
摘要:c++中没有闭包,所以需要自己实现一个 利用c++11中的智能指针 把一个智能指针传给一个对象,如果对象不被释放掉,那么智能指针也不会释放掉。 比如: 把一个智能指针传递给一个回调函数,假设回调函数会放到一个回调函数队列中,那么回调函数就会是一个函数对象,而这个回调函数没有被释放之前,智能指针也不会
阅读全文
9-14
摘要:读写操作的代码片段(p3) 同步服务器客户端demo(p4)
阅读全文
C++网络编程的学习(9-13)
摘要:文章来源: 恋恋风辰的编程笔记 https://gitbookcpp.llfc.club/sections/cpp/boost/asio03.html boost环境配置 网络编程基本流程 网络编程的基本流程对于服务端是这样的 服务端 1)socket 创建socket对象。 2)bind 绑定本机
阅读全文
C++并发编程的学习(9-13)
摘要:文章来源: 恋恋风辰的编程笔记 https://gitbookcpp.llfc.club/sections/cpp/concurrent/concpp02.html 容器存储: thread类没有拷贝构造函数,所以使用容器存储它时,不能使用push_back(),需要使用 点击查看代码 void u
阅读全文