- 博客(11)
- 收藏
- 关注
原创 单例模式概念
单例模式特点: 整个工程只能产生一个对象 在整个工程的任何地方都能使用到这个对象 禁止拷贝构造即等号赋值在单例模式中,不允许对象进行拷贝构造以及等号赋值,可通过以下来禁止掉,在C11新标准引入了 =delete,如下:#include<iostream>using namespace std;#define SEQ_INIT_SIZE 10class SeqList{ int data[SEQ_INIT_SIZE]; int maxsiz..
2022-03-06 11:56:57 323
原创 移动拷贝与移动赋值语句
左值右值概念: 左值:可取地址,有具体名字 右值:无法取地址或没有具体名字 int main(){ int a=10;//a 左值 int& b=a;//引用左值 int&& c =10;//10 右值,右值引用&&只能用来引用右值 //int&& d=c;//c具有了名字,不可再用&&引用 int&& d=Person(10);//右值引用可以用来引用...
2022-03-06 11:55:36 1032
原创 运算符重载
由于语法规定,不能以运算符来作为函数名,因此C++中规定以operator+符号作为函数名来实现运算。普通运算符重载要求:自定义类实现常见的运算符重载#include<iostream>using namespace std;class Int{ int value;public: Int(int x = 0) :value(x) {} Int(const Int& src) :value(src.valu
2022-03-06 11:52:53 460
原创 守护进程基础
守护进程特点:运行周期长,在后台运行,不和用户交互。会话:伴随着一个终端的打开便建立了一个会话。会话首进程:该会话中运行的第一个进程,一般来说都是bash,通过会话首进程的pid来标识整个会话的id号,以此来区分不同的会话。进程组:每当一个命令执行就会创建一个进程组。组长进程:命令执行后运行的第一个进程。组长进程的pid为进程的id号,即使组长进程结束,只要这个进程组中还有进程,那么进程组的id号不会变。获取一个终端的会话id和某个进程组的id:lcx@lcx-virtual-
2022-02-28 16:39:36 187
原创 IO复用函数
I/O复用技术使得程序能够同时监听多个文件描述符,这对于提高程序的性能至关重要。 TCP 服务器同时要处理监听套接字和连接套接字。 服务器要同时处理 TCP 请求和 UDP 请求。 程序要同时处理多个套接字。 客户端程序要同时处理用户输入和网络连接。 服务器要同时监听多个端口。 需要指出的是,I/O 复用虽然能同时监听多个文件描述符,但它本身是阻塞的。并且当 多个文件描述符同时就绪时,如果不采取额外的措施,程序就只能按顺序依处理其中的每一 个文件描述符,这使
2022-02-28 16:38:32 2296
原创 TCP 网络编程
注:TCP和UDP可以同时使用相同的端口号,同时运行,因为系统可以分辨出是流式服务还是数据报,以给不同的协议。同一个进程可以创建多个套接字。TCP 编程流程基础概念TCP 提供的是面向连接的、可靠的、字节流式服务。TCP 的服务器端和客户端编程流程如 下:目的:实现服务器端与客户端的数据通信。连接性:三次握手,四次挥手可靠性:应答确认,超时重传机制 ; 乱序重排:依靠序列号,去重,排序;滑动窗口,流量控制。流式服务:发送次数与接收次数没有关系;会造成粘包问题TCP服务端
2022-02-28 16:35:49 4106
原创 Linux平台下线程操作
线程线程:进程内部的一条执行路径。是调度执行的基本单位。进程:一个正在运行的程序,是动态的,是资源进行分配的基本单位。进程与线程的区别 进程是资源分配的最小单位,线程是 CPU 调度的最小单位 进程有自己的独立地址空间,线程共享进程中的地址空间 进程的创建消耗资源大,线程的创建相对较小 进程的切换开销大,线程的切换开销相对较小 线程的实现方式 内核级线程 操作系统需要提供创建线程的接口,线程的创建,管理全部在内核空间实现。
2022-02-28 16:32:59 132
原创 进程间通信
进程间通信 (ipc机制 ):管道,信号量,共享内存,消息队列,套接字。管道 管道:管道可以用来在两个进程之间通信(传递数据),如: ps -ef | grep “bash”, 其中‘|’就是管 道,其作用就是将 ps 命令的结果写入管道文件,然后 grep 再从管道文件中读出该数据进行 过滤。 管道文件:本身在磁盘上只保存其各种属性,打开其(open)会在内存中分配空间,即写入管道的数据存在于内存中,因此效率比较高,只存在一个读端,一个写端。 管道的通信方式:半双工。 有
2022-02-28 16:30:20 279
原创 Linux 进程复制与替换
主函数主函数的参数int main (int argc, char * argv[ ], char * envp [ ]) argc 参数个数 argv 参数内容 envp 环境变量 用法: lcx@lcx-virtual-machine:~/mycode/10.20$ vi test.c 1 #include<stdio.h> 2 int main(int argc,char *argv[],char *envp[]) 3 { 4 ...
2022-02-28 16:26:34 769
原创 计算机基础概论
计算机基础概论计算机的基本组成计算机组成五大部件(硬件) 运算器:也叫算数逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻 辑运算,移位,比较等。 控制器 :它是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证 计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。 存储器:存储程序和各种数据。 输入设备 :把人所熟悉的信息如,图片,声音,文字,转换为计算机能够识别的信 息存储起来。 输出设备 : 把计算机机能识别的信息转换为人能识
2022-02-28 16:23:37 1474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人