- 博客(20)
- 收藏
- 关注
原创 C到C++个人笔记——信号处理
信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断。有些信号不能被程序捕获,但是。这些信号是定义在中。
2025-07-09 15:17:03
431
原创 C到C++个人笔记--C++ 预处理器
宏描述__LINE__这会在程序编译时包含当前行号。__FILE__这会在程序编译时包含当前文件名。__DATE__这会包含一个形式为 month/day/year 的字符串,它表示把源文件转换为目标代码的日期。__TIME__这会包含一个形式为 hour:minute:second 的字符串,它表示程序被编译的时间。return 0;
2025-07-09 15:06:58
452
原创 C到C++个人笔记--C++ 多态
按字面的意思就是多种形态。当。在 C++ 中,多态(Polymorphism)是面向对象编程的重要特性之一。C++ 多态允许使用基类指针或引用来调用子类的重写方法,从而使得同一接口可以表现不同的行为。多态使得代码更加灵活和通用,程序可以通过基类指针或引用来操作不同类型的对象,而不需要显式区分对象类型。这样可以使代码更具扩展性,在增加新的形状类时不需要修改主程序。virtual= 0代码解释AnimalAnimalsound()virtual~Animal()DogCatDogCatAnimal。
2025-07-06 16:37:19
955
原创 C到C++个人笔记--C++ 继承
继承允许我们依据另一个类来定义一个类。当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为,新建的类称为。继承代表了关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。
2025-07-06 12:11:37
602
原创 C到C++个人笔记--C++ vector序列容器
C++ 中的 vector 是一种序列容器,它允许你在运行时动态地插入和删除元素。vector 是基于数组的数据结构,但它可以自动管理内存,这意味着你不需要手动分配和释放内存。与 C++ 数组相比,vector 具有更多的灵活性和功能,使其成为 C++ 中常用的数据结构之一。vector 是 C++ 标准模板库(STL)的一部分,提供了灵活的接口和高效的操作。
2025-06-27 19:50:56
796
原创 从C到C++学习个人笔记--引用
引用变量的作用:给变量起别名,某个已存在变量的另一个名字。注意:引用必须在定义时初始化,并且一旦绑定到一个变量后,就不能再绑定到其他变量。
2025-06-27 19:37:34
219
原创 Python爬虫_线程池实例——北京新发地菜价
Python爬虫_线程池实例——北京新发地菜价:通过线程池来同时爬取多页数据,从而提高爬取速度。
2022-09-03 22:28:59
1025
原创 视频网站工作原理
用户上转:->转码(2k,1080p,720p…)->切片处理(把单个文件进行拆分)->文件记录(m3u8):①视频播放顺序②视频存放地址m3u8文件详解
2022-09-03 12:50:39
313
原创 静态Web服务器-命令行启动动态绑定端口号
1. 开发命令行启动动态绑定端口号的静态web服务器实现步骤:获取执行python程序的终端命令行参数 判断参数的类型,设置端口号必须是整型 给Web服务器类的初始化方法添加一个端口号参数,用于绑定端口号2.import socketimport sysimport threading# Web服务器类class Httpwebserver(object): def __init__(self, port): # 创建服务端套接字 tcp
2022-04-05 15:27:39
161
原创 静态Web服务器-面向对象开发
1. 以面向对象的方式开发静态Web服务器实现步骤:把提供服务的Web服务器抽象成一个类(HTTPWebServer) 提供Web服务器的初始化方法,在初始化方法里面创建socket对象 提供一个开启Web服务器的方法,让Web服务器处理客户端请求操作。import socketimport threading# 定义Web服务器类class Httpwebserver(object): def __init__(self): # 创建服务端套接字
2022-04-05 15:23:26
134
原创 静态Web服务器-返回指定页面数据
import socketdef main(): # 创建服务端套接字 tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 设置端口号复用 tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True) # 绑定端口 tcp_server_socket.bind(('', 9000).
2022-04-05 15:17:45
137
原创 多任务Tpc服务端开发:实现同时服务于多个tpc客户端
步骤:编写一个TCP服务端程序,循环等待接受客户端的连接请求 当客户端和服务端建立连接成功,创建子线程,使用子线程专门处理客户端的请求,防止主线程阻塞 把创建的子线程设置成为守护主线程,防止主线程无法退出。 import socketimport threading# 处理客户端的请求操作函数def handle_client_request(ip_port, new_client): # 循环接收客户端发送的数据 while True: # 5.接受客户端
2022-03-31 11:50:09
297
原创 简单tpc服务端程序开发
import socket# 1.创建服务端套接字tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口号复用的代码:# 参数1: 表示当前套接字# 参数2: 设置端口号复用选项# 参数3: 设置端口号复用选项对应的值tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 2.绑定端口号tcp_s.
2022-03-31 11:40:28
249
原创 互斥锁: 对共享数据进行锁定,保证同一时刻只能有一个线程去操作。
import threadingimport time# 定义全局变量g_num = 0# 创建全局互斥锁mutex = threading.Lock()# 循环一次给全局变量加1def task1(): # 上锁 mutex.acquire() for i in range(10000): global g_num g_num += 1 print("1_num:", g_num) # 释放锁 mutex..
2022-03-31 09:30:10
598
原创 多线程的使用
类似多进程代码如下:# 1.导入包import threadingimport time# 2.定义线程任务# 唱歌任务def sing(): # 扩展: 获取当前线程 # print("sing当前执行的线程为:", threading.current_thread()) for i in range(3): print("正在唱歌...%d" % i) time.sleep(1)# 跳舞任务def dance():
2022-03-30 23:31:50
102
原创 强制结束主进程:1.设置守护主进程方式: 子进程对象.daemon = True,2.销毁子进程方式: 子进程对象.terminate()
import multiprocessingimport time# 定义进程所需要执行的任务def task(): while True: print('正在执行中.......') time.sleep(0.1)#if __name__ == '__main__': # 创建子进程 task_process = multiprocessing.Process(target=task) # 设置守护主进程,主进程退出子进程直接销.
2022-03-30 23:27:41
453
原创 01-多进程的简单使用
import multiprocessingimport time# 跳舞任务def dance(): for i in range(5): print("跳舞中...") time.sleep(0.2)# 唱歌任务def sing(): for i in range(5): print("唱歌中...") time.sleep(0.2)if __name__ == '__main__': # 创建.
2022-03-30 23:18:59
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅