![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 70
0x7A62
这个作者很懒,什么都没留下…
展开
-
C++实现异步日志
C++实现异步日志系统原创 2024-03-01 16:46:04 · 504 阅读 · 0 评论 -
C++锁的使用
互斥锁,共享锁,递归锁,自旋锁等锁的使用原创 2024-02-26 17:51:47 · 891 阅读 · 0 评论 -
std::move和std::forward
std::move是c++11引入的,用于将一个资源"移动"到另一个对象,而不是复制。但是通过std::move的源码可以发现,其底层实际并没有"转移"的动作,那是如何实现呢?通过源码可以发现,std::move的底层实际只是进行了类型强制转换,将一个变量强制转换成了一个右值。1.remove_reference_t:用于类型转换,用于移除_Ty的引用,如果_Ty是T&或者T&&,都会变成T类型2._Arg是函数参数,并且是一个右值引用,因此参数可以是左值也可以是右值。原创 2024-02-26 10:26:59 · 344 阅读 · 0 评论 -
C++线程池的实现
线程池是一种并发编程的技术,用于管理线程资源。线程池需要先预先创建一定数量的线程,当有任务进来的时候,这些线程会去执行对应的任务。当没有任务的时候,线程会在线程池中进行等待,直到有任务进来。线程池的主要目的是避免反复创建和销毁线程的开销,以及有效地控制并发线程的数量。通过使用线程池,可以降低系统的负载,并提高任务执行的效率。当频繁的进行线程的创建和销毁的时候,可以考虑用线程池进行代替。原创 2024-02-22 09:51:45 · 866 阅读 · 0 评论 -
C++单例实现
单例模式确保一个类的实例话只能有一个对象,单例模式在日志系统,数据库操作中比较常见。常见的饿汉模式和懒汉模式不在过多介绍,以下是C++11实现单例的方式,一种是使用static确保只有一个实例,一种是利用call_once确保只执行一次初始化。原创 2024-02-21 15:30:49 · 142 阅读 · 0 评论