![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++后台开发面试
折线式成长
希望在这儿可以向一些IT技术大流交流、学习!
展开
-
C++实现线程池
实现线程池✏ 线程池???? 1、作用:异步解耦线程池的运行逻辑:线程池中的线程在不断竞争任务队列中的任务。???? 2、组成任务队列线程集合管理组件???? 3、TODO增加线程删除过度冗余的线程快手面试题:查询一个任务是否被执行完,生产者消费者模式(任务队列用环形阻塞队列即可)头条面试题:如果一个任务在执行过程中线程被中断(也许是时钟周期已到,也许是等待资源,也许是被中断,等等),后面怎样保证继续被同一个线程执行。C-glibc实现#include <stdi原创 2020-10-29 14:46:44 · 708 阅读 · 0 评论 -
C++实现环形队列
实现环形队列线性队列原理图:假设是长度为5的数组,初始状态,空队列如所示,front与 rear指针均指向下标为0的位置。然后入队a1、a2、a3、a4, front指针依然指向下标为0位置,而rear指针指向下标为4的位置。出队a1、a2,则front指针指向下标为2的位置,rear不变,如下图所示,再入队a5,此时front指针不变,rear指针移动到数组之外 ,造成假溢出的现象:为了解决这个问题,引入了循环队列的概念。循环队列原理图:可以看到当循环队列属于上图的d1情况时,是无法判断原创 2020-10-29 14:44:05 · 3114 阅读 · 3 评论 -
C++实现阻塞队列
实现阻塞队列阻塞队列是后台开发中多线程异步架构的基本数据结构,像python,java 都提供线程安全的阻塞队列,c++ 可能需要自己实现一个模板。阻塞队列阻塞队列:阻塞队列是一个在队列基础上又支持了两个附加操作的队列。支持阻塞的插入方法:队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法:队列空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。简而言之,阻塞队列是生产者用来存放元素、消费原创 2020-10-29 14:36:24 · 2679 阅读 · 0 评论 -
双线程交替打印
实现双线程交替打印C++实现双线程交替打印1~20之内的数。两个条件锁std::mutex mtx;std::condition_variable cond1, cond2;static int num = 1;void thread1(){ while(true){ unique_lock<mutex> lock(mtx); cout << "Thread 1 :" << num << endl;原创 2020-10-29 14:32:39 · 143 阅读 · 0 评论