摘要:
一、什么是单例模式 单例模式(Singleton Pattern)是使用最广泛的设计模式之一,其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。单例模式常用于资源管理,例如日志、线程池。 定义一个单例类大致分为如下三步: 1、私有化它的构造函数,以防止外界创建单 阅读全文
摘要:
一、什么是生产者-消费者模型 1、简单理解生产者-消费者模型 假设有两个进程(或线程)A、B和一个固定大小的缓冲区,A进程生产数据放入缓冲区,B进程从缓冲区中取出数据进行计算,这就是一个简单的生产者-消费者模型。这里的A进程相当于生产者,B进程相当于消费者。 2、为什么要使用生产者-消费者模型 在多 阅读全文
摘要:
一、左值和右值 左值与右值是C++中表达式的属性,在C++11中,每个表达式有两个属性:类型(type,除去引用特性,用于类型检查)和值类型(value category,用于语法检查,比如一个表达式结果是否能被赋值)。值类型包括3个基本类型:lvalue、prvalue与xrvalue。后两者又统 阅读全文
摘要:
1、智能指针概述 智能指针本身是个类,程序员在为指针进行内存分配后,可能忘记使用delete销毁内存,为了避免这个问题,出现了智能指针。智能指针在创建时调用构造函数,在消亡时(超出使用范围以后)自动调用析构函数,这样就起到一个内存回收的作用。智能指针的对象都是栈上创建。 2、四种智能指针讲解 2.1 阅读全文
摘要:
一、C++语言基础 1、extern关键字作用 第一:当一个函数或者变量在一个文件中声明时使用extern关键字修饰,则该函数或者变量可以在其他文件中调用,但是要include使用extern声明函数或者变量的文件。比如在头文件中声明一个extern修饰的变量,在源文件中定义它。 第二:当使用ext 阅读全文
摘要:
1、并查集详解 1.1 并查集概念 并查集是一种非常精巧而实用的数据结构,主要用于处理一些不相交集合的合并问题。一些常见的用途有连通子图、最小生成树的Kruskal算法和求最近公共祖先等。 1.2 操作 并查集的基本操作有两个 Union:把两个元素所在的集合合并,要求两个元素所在集合不相交,如果相 阅读全文
摘要:
1、循环神经网络(Recurrent Neural Network,RNN) 1.1 RNN概述 RNN很多实施情况都可通过时间序列模型来描述(RNN又被叫做序列模型)。 例如,如果你想写一个文档,单词的顺序很重要,当前的单词肯定取决于以前的单词。如果把注意力放在文字写作上…… 一个单词中的下一个字 阅读全文
摘要:
1、为什么需要信号量 回顾一下lock能解决并发问题中(竞态条件)对资源的争夺;但是lock不能解决同步问题,需要更高级的方式实现同步,包括多线程共享公共数据的协调执行、互斥与条件同步的实现(互斥是指同一时间只能有一个线程可以执行临界区); 2、信号量的类型 信号量是一种抽象的数据类型,包括: 一个 阅读全文
摘要:
1、概述 1.1 上下文切换 切换CPU的当前任务,从一个进程/线程转换到另一个进程/线程;但切换之前要保护现场,保存当前进程/线程在PCB/TCP中的执行上下文(也就是CPU的状态);切换任务需要读取下一个进程/线程的上下文。 1.2 CPU调度 从就绪队列中挑选一个进程/线程作为CPU将要运行的 阅读全文
摘要:
1、几种无线网络的对比 PAN:个人局域网 LAN:无线局域网 MAN:无线城域网 WAN:无线广域网 2、无线局域网的组成 重点讨论LAN,思路是:设备的无线网卡和无线路由的AP连接,组成无线局域网,无线AP给无线设备分配IP。 基本服务集内的基站叫做接入点(Access Point)。 当网络管 阅读全文