09 2024 档案

基本类型大小,类大小及内存对齐
摘要:讨论类大小时,我们设置系统为64位系统 1)空类 1字节 空类中只包含一个内存地址,保存类对象的唯一地址 空类 对于一个空类,即使没有任何成员变量,编译器也会为其分配1字节的内存,以确保不同对象的地址唯一性 2)包含虚函数的类 a) 只包含一个/多个虚函数的类 8字节 每个类的实例只会包含一个指向虚 阅读全文

posted @ 2024-09-30 10:03 不败剑坤 阅读(9) 评论(0) 推荐(0) 编辑

忙等,yield(),死循环,原子atomic
摘要:1)忙等 忙等是一种编程技术,其中一个线程不断地检查某个条件是否满足,而不使用阻塞式等待(如条件变量)。 这种方式可能导致 CPU 占用率非常高,因为线程一直在运行,即使没有实际的工作要做 for (;😉 { if (val > 10) { //dosomething } else { std:: 阅读全文

posted @ 2024-09-29 15:34 不败剑坤 阅读(20) 评论(0) 推荐(0) 编辑

线程池
摘要:1)线程池 PoolThread 线程池可以避免在处理短时间任务时创建与销毁线程的代价,它维护着多个线程,等待着监督管理者分配可并发执行的任务,从而提高了整体性能 2)单例类 static ThreadPool& instance() { //局部静态变量,单例类只构造一次 static Threa 阅读全文

posted @ 2024-09-25 11:40 不败剑坤 阅读(19) 评论(0) 推荐(0) 编辑

boost.asio 异步网络编程
摘要:Proactor 模式 Proactor 模式是一种异步 I/O 处理模式,常用于高性能网络服务器和并发系统中。与传统的 Reactor 模式(基于事件驱动的 I/O 多路复用)不同,Proactor 模式使用异步 I/O 操作来处理 I/O 任务,从而提高了系统的并发能力和响应速度。 1)异步 优 阅读全文

posted @ 2024-09-25 11:08 不败剑坤 阅读(254) 评论(0) 推荐(0) 编辑

多线程问题:异常处理,单例,双重检查锁定
摘要:1)多线程异常处理 多线程中如何捕获抛出异常到主线程 a)catch中使用std::current_exception();获得正在处理的异常 b)通过引用类型std::exception_ptr& _ex_ptr 传出 c)std::rethrow_exception(ex_ptr);重新抛出异常 阅读全文

posted @ 2024-09-23 17:25 不败剑坤 阅读(32) 评论(0) 推荐(0) 编辑

线程同步:锁,条件变量,并发
摘要:1)锁mutex 2)条件变量 头文件<condiction_variable> condition_variable cv; cv.wait(_lock,谓语)//使用谓语检查是否满足唤醒条件,防止假唤醒 using namespace std; mutex _mutex; condition_v 阅读全文

posted @ 2024-09-23 17:23 不败剑坤 阅读(12) 评论(0) 推荐(0) 编辑

c++多线程,锁
摘要:1)机器最大线程数 uint16_t max_thread = thread::hardware_concurrency(); 2)vector中管理线程 获取线程id a)thread::id _id=std::this_thread::get_id(); b)thread th(getSum_v 阅读全文

posted @ 2024-09-23 10:40 不败剑坤 阅读(22) 评论(0) 推荐(0) 编辑

断言assert,异常,类型转换
摘要:assert 作用:等同于Qdebug(val),判断程序是否得到自己想要的结果 可以通过#definde NDEBUG 一键屏蔽 接受一个条件表达式作为参数。如果该条件表达式的值为假(即为0或者布尔意义上的false),则assert会触发一个错误,通常会导致程序终止,并打印出错误信息和发生错误的 阅读全文

posted @ 2024-09-05 16:40 不败剑坤 阅读(19) 评论(0) 推荐(0) 编辑

常用linux命令
摘要:ls ls-l(详细信息) ls-la(列出隐藏文件) ls-la drwxrwxr-x 3 yan yan 4096 9月 4 15:59 ./ -rw-rw-r-- 1 yan yan 14068 9月 4 15:55 CMakeCache.txt drwxrwxr-x: d 表示directo 阅读全文

posted @ 2024-09-04 17:18 不败剑坤 阅读(5) 评论(0) 推荐(0) 编辑

使用Cmake-编写CMakeLists.txt 文件,vscode
摘要:一:使用cmake的好处: a) 可以轻松管理多个源文件、库和依赖关系 b) cmake可以自动生成makefile,跨平台(makefile跟平台强相关) 编写CMakeLists.txt 文件,示例 #关键主体: cmake_minimum_required(VERSION 3.10) # 设置 阅读全文

posted @ 2024-09-04 16:03 不败剑坤 阅读(749) 评论(0) 推荐(0) 编辑

makefile模版
摘要:# funmain:hello.cpp mymath.h mymath.cpp main.cpp # g++ -o funmain hello.cpp mymath.cpp main.cpp # Makefile for a simple C++ project # 编译器 CC = g++ # C 阅读全文

posted @ 2024-09-04 14:57 不败剑坤 阅读(40) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示