风吹雨淋
码龄3年
  • 13,007
    被访问
  • 82
    原创
  • 34,600
    排名
  • 8
    粉丝
关注
提问 私信
  • 毕业院校: 西安石油大学
  • 加入CSDN时间: 2019-08-01
博客简介:

qq_45481606的博客

查看详细资料
  • 3
    领奖
    总分 427 当月 15
个人成就
  • 获得9次点赞
  • 内容获得10次评论
  • 获得42次收藏
创作历程
  • 2篇
    2022年
  • 80篇
    2021年
成就勋章
TA的专栏
  • QT
    3篇
  • C++
    19篇
  • 数据结构
    2篇
  • Linux系统编程
    30篇
  • Linux网络编程
    14篇
  • C语言
    13篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Qt:窗口切换

#生成两个独立窗口思路:添加新的头文件和源文件,也就等同于生成了一个新的窗口运行结果:但是该结果并没有达到预期运行后两个窗口同时出现应先显示主窗口,点击切换按钮后,主窗口隐藏并显示子窗口#功能改进...
原创
发布博客 2022.05.03 ·
561 阅读 ·
0 点赞 ·
0 评论

时间复杂度

衡量一个算法是否良好运行时的快慢时间:时间复杂度所需要耗费的资源空间:空间复杂度时间复杂度:找到基本语句,并计算该语句的总执行次数
原创
发布博客 2022.04.01 ·
469 阅读 ·
1 点赞 ·
0 评论

QT:信号和槽

需要的类QPushButton按钮设置内容函数setText()调整按钮坐标函数move()指定父对象函数setParent()
原创
发布博客 2021.12.27 ·
635 阅读 ·
0 点赞 ·
0 评论

QT:主窗口&按钮设置&对象树&坐标体系

创建QT工程然后下一步,直到这个页面
原创
发布博客 2021.12.25 ·
244 阅读 ·
0 点赞 ·
0 评论

Linux:线程池简单介绍

业务场景:打开微信要查询、转账、发红包等,后台要处理相关业务时就需要前台发送数据当前服务端要处理很多业务,先通过网络把客户端 (请求类型和请求数据) 请求发送给服务端,发送时明确该请求是做什么业务和所提交的数据同一时刻有多个客户端去访问服务端,方法1.服务端就挨个创建线程处理请求,但是这并不现实,方法2.服务端有一个接收线程(只接收不处理)和一个发送线程,—客户端发送所有的数据都是接收线程拿到,然后放入线程安全队列中;—业务线程处理数据,将结果放入另一个线程安全队列中—发送线程将新线程安
原创
发布博客 2021.10.17 ·
50 阅读 ·
0 点赞 ·
0 评论

线程安全队列代码

使用信号量完成线程安全队列#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <semaphore.h>#include <vector>#define THREAD_NUM 2class RingQueue{ public: RingQueue() :vec_(4) {
原创
发布博客 2021.10.17 ·
18 阅读 ·
0 点赞 ·
0 评论

操作系统总结

原创
发布博客 2021.10.16 ·
23 阅读 ·
0 点赞 ·
0 评论

C++:智能指针

内存泄漏:指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死工程前期良好的设计规范,养成良好的编码规范,申请的内存空间记着匹配的去释放。但是如果碰上异常时,就算注意释放了,还是可能会出问题。需要下一条智能指针来管理才有保证。采用RAII思想或者智
原创
发布博客 2021.10.16 ·
22 阅读 ·
0 点赞 ·
0 评论

信号量POSIX

信号量本质:资源计数器+PCB等待队列当多个线程想要获取信号量的时候,都会对信号量中的资源计数器进行-1操作保证互斥:初始化资源计数器为1,表示当前只有1个资源(意味着只有一个线程在同一时刻可以获取到信号量)线程A获取信号量时,资源计数器-1变成0,资源计数器的值>=0则表示可以访问临界资源;线程B访问,也会进行-1操作值就<0,就会被阻塞在信号量的等待接口中,线程B就会被放入PCB等待队列中保证同步:资源计数器不必刻意初始化为1资源计数器>0:表示还有多少资源可以
原创
发布博客 2021.10.16 ·
12 阅读 ·
0 点赞 ·
0 评论

C++组合(简介)

组合:一个类包含另一个类对象继承是一种is-a的关系。也就是说每个派生类对象都是一个基类对象。组合是一种has-a的关系。假设B组合了A,每个B对象中都有一个A对象如果只单纯考虑代码的复用,优先考虑组合;继承体系下,父类和子类耦合性太高,父类中某一成员更改,各子类中所继承的成员都要改...
原创
发布博客 2021.09.18 ·
467 阅读 ·
0 点赞 ·
0 评论

Linux:线程同步&条件变量(单生成者与消费者分析)

同步概念:在保证数据安全的前提下,让线程能够按照某种特定的顺序访问临界资源;也就是说访问临界资源要按照一定的顺序进行;单个生成者消费者同步例子:吃面问题问题描述:val为碗,有面值=1,没有值=0;eat线程代表顾客吃面,对val进行- -;make代表厨师做面,对val进行++;正常的屏幕输入输出是0101,也就是顾客吃完厨师才能做面;一个线程不能在执行临界区途中,另一个线程也访问临界区;1.先以互斥的方式解决该问题,代码实现如下:直接给临界资源加锁,由运行结果
原创
发布博客 2021.09.17 ·
22 阅读 ·
0 点赞 ·
0 评论

Linux:死锁与解决方法

死锁死锁:指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。死锁现象:现象1,如果执行流加锁完毕后,不进行解锁则会造成死锁(上篇所述);现象2,线程A获取了1锁,线程B获取了2锁,同时线程A还想获取2锁,线程B还想获取1锁现象2模拟:死锁的必要条件互斥:一个执行流获取互斥锁后,其它执行流不能再获取该锁;不可剥夺:A执行流拿着锁,其它执行流不能释放;循环等待:多个执行流拿着对方想要的锁,并且各执行流还去请求对方
原创
发布博客 2021.09.17 ·
338 阅读 ·
0 点赞 ·
0 评论

Linux:互斥锁(附线程调试)

互斥锁原理互斥锁:保证多个执行流在访问临界资源时,是原子操作互斥锁底层是一个互斥量,互斥量的本质是计数器,值保存在内存中,计数器值只能为1或为0;0:代表不能获取互斥锁1:代表可以获取互斥锁互斥锁是一个计数器,刚初始化出来的值是1,表示可以加锁线程获取互斥锁就相当于加锁过程,互斥锁计数器就从1变为0;其01的转化操作不是加减,而是将内存中计数器的值和寄存器中的值,靠一条汇编指令将两者里的值进行交换;程序计数器的值可为0为1,而寄存器的值必须初始化为0;只需要判断交换完毕之后,寄存
原创
发布博客 2021.09.16 ·
126 阅读 ·
0 点赞 ·
0 评论

DNS协议

DNS协议叫做域名解析协议,将域名转换成为ip地址方便人们记忆域名解析域名:一个字符串(xxx.com);DNS:将域名转换成ip地址;域名是有等级划分:一级域名、二级、三级……一级域名:.com .cn .us .edu二级域名:字符串+.combaidu.com,www没有实际作用三级域名:字符串+字符串+.com这些域名被不同的域名服务器所管理,域名服务器划分为根域名服务器、一级域名服务器、二级、三级根域名服务器:用来给其它域名服务器授权;一级域名服务器
原创
发布博客 2021.09.09 ·
26 阅读 ·
0 点赞 ·
0 评论

NAT技术

NAT地址转换协议用于解决目前ipv4版本的ip地址不够用的问题之所以能通过私网ip访问互联网,是将该私网ip进行地址转换成公网ip,将这个转换过程称为NAT转换,也叫地址转换三种NAT方式1.静态NATNAT服务器针对私网ip,一对一的转换成为公网ip;私网ip机器发送数据永远都是这一个公网ip与之对应;2.动态NATNAT服务器维护多个公网ip地址,当私网主机想要访问互联网时,找一个空闲的公网ip与之转换;每次转换的公网ip可能不同;不管怎样,静态和动态NAT
原创
发布博客 2021.09.09 ·
26 阅读 ·
0 点赞 ·
0 评论

数据链路层:以太网协议&arp协议

路由选择:在网络层先进行路由选择,然后进入数据链路层;数据链路层协议:以太网协议,arp协议以太网协议网络层的ip协议负责路由选择(发送的数据走哪一条路到达对端);数据链路层负责相邻设备的转发;数据链路层使用到的是MAC地址 (物理地址),与网卡相关,一个物理网卡中的MAC是全球唯一的;...
原创
发布博客 2021.09.08 ·
95 阅读 ·
0 点赞 ·
0 评论

ip协议格式&ip地址管理

ip协议格式ip地址管理路由选择
原创
发布博客 2021.09.07 ·
134 阅读 ·
1 点赞 ·
1 评论

tcp面向字节流特性

1.从发送数据角度理解:应用层的应用程序在发送数据时,是调用send函数将应用层数据递交给传输层的tcp协议;递交给tcp数据后,数据是暂时保存在发送缓冲区中;不能认为tcp在发送数据时,调用send函数一次发送一次数据;tcp发送数据一定小于MSS2.从接收数据的角度理解:当数据到达接收方缓冲区后,接收方的应用程序调用recv函数可以接收任意字节tcp粘包问题什么是tcp粘包:接收方无法针对数据进行拆分,因为tcp是面向字节流的,数据间没有明显的间隔,就导致服.
原创
发布博客 2021.09.06 ·
381 阅读 ·
0 点赞 ·
0 评论

tcp可靠传输特性

tcp协议格式MTU的大小一般是1500字节在传输层只关心端与端传输,udp和tcp协议都不涉及源ip和目的ip可靠传输保证可靠:传输的数据一定会到达对端保证传输效率保证可靠的方式这两种方式都要使用到序号确认应答机制服:发送方发送数据后需要接收方确认回复确认数据包工作,是tcp自己在网络协议栈中完成的,不需要程序员介入;程序员只调用recv函数从缓冲区中拿数据超时重传机制:发送方发送数据就会开启一个重传计数器,当计数器的时间超过重传时间就会重传报文超时重传时间
原创
发布博客 2021.09.06 ·
78 阅读 ·
0 点赞 ·
0 评论

tcp协议的面向连接特性

传输层:负责端与端间的传输,有两个协议udp和tcp特性udp协议包头字段:udp缓冲区:发送缓冲区:将应用层提交给传输层的应用层数据打上udp包头后,提交给网络层继续传输;接收缓冲区:去掉udp包头后,将数据递交给应用层;udp不保证数据的可靠和有序;udp常见的应用场景DNS:域名解析DHCP:动态主机分配协议;谁上网给谁分配ip同一个局域网内部可能使用udp,因为网路稳定NFS:网络文件系统TCP双方发送数据包名称与连接状态三次握手双方的数据包名与连接状态对于
原创
发布博客 2021.09.03 ·
363 阅读 ·
0 点赞 ·
0 评论
加载更多