- 博客(41)
- 收藏
- 关注
原创 整理 tcp 服务器的设计思路
进程再遍历这些被激活的套接字,进行非阻塞式的读写操作。构建一个TCP服务器,本质是创建一个能持续响应网络连接和数据读写的服务进程。以下是几种主流的设计模式。服务器按顺序逐个处理客户端连接,只有在完全处理完一个客户端的全部请求并断开连接后,才会处理下一个。该模型使用单个进程(或少量进程),但通过系统调用同时监视多个连接上的I/O事件。为了解决迭代服务器的阻塞问题,最直接的思路是为每个新连接创建一个独立的执行流。接收新连接,并将新连接的套接字也注册到事件监视器。的,并且要避免耗时操作,否则会阻塞整个事件循环。
2025-10-08 15:12:15
1567
1
原创 多进程编程和多线程编程的区别,以及应用场景
单个进程崩溃不影响其他进程,而线程崩溃可能导致整个程序退出。任务主要是I/O操作(如文件读写、网络请求)某个任务可能意外崩溃,你不希望影响其他任务。:线程间共享数据简单,进程间需要特殊机制。任务计算密集,需要充分利用多核CPU。:进程间内存独立,线程间内存共享。:创建进程比创建线程消耗更多资源。任务需要高度隔离,安全性重要。任务需要频繁共享数据和通信。希望快速创建和销毁执行单元。
2025-10-08 15:08:13
219
原创 25.9.8 C++day8作业
二、封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至少3个)再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。再把该容器中的对象,保存到文件中。
2025-09-08 20:31:43
288
原创 25.9.5 C++day7作业
在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。比喻:动物园的讲解员和动物表演。
2025-09-05 18:41:39
169
原创 25.9.3 C++day5作业
(5)另外, RMB 类还包含一个静态整型成员变量 count,用于记录当前已创建的 RMB 对象的数量。每当创建一个新的 RMB 对象时,count 应该自增 1;(1)重载算术运算符 + 和 -,使得可以对两个 RMB 对象进行加法和减法运算,并返回一个新的 RMB 对象作为结果。(2)重载关系运算符 >,判断一个 RMB 对象是否大于另一个 RMB 对象,并返回 true 或 false。(3)重载前置减减运算符 --,使得每次调用时 RMB 对象的 yuan、jiao 和 fen 分别减 1。
2025-09-03 19:57:39
605
原创 25.9.1 C++day3作业
二、设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数和拷贝构造函数。
2025-09-01 20:19:21
179
原创 25.8.29 C++day1作业
二、自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height),初始化函数:void init(int w, int h)输出该矩形的周长和面积函数:void show()更改宽度的函数:set_w(int w)更改高度的函数:set_h(int h)
2025-08-30 09:47:25
208
原创 25.8.28 C++day1作业
二、提示并输入一个字符串,统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数,要求使用C++风格字符串完成。
2025-08-28 19:58:45
183
原创 25.8.6 IO进程线程day5作业
四、创建两个线程,一个线程实现字符串的逆置,另一个线程打印字符串,并要求打印顺序是。三、使用创建两个线程,一个线程拷贝文件的前一部分,另一个线程拷贝文件的后一部分。
2025-08-06 19:59:45
267
原创 25.8.1 IO进程线程day2作业
一、使用文件IO函数,实现文件的拷贝。二、使用标准IO函数,实现图片的拷贝。三、使用文件IO函数,计算文件的大小。
2025-08-03 19:50:30
142
原创 25.7.31 IO进程线程day1作业
一、输入-个文件名,默认文件存在,实现这个文件的下载(循环读取输入的文件,把读取的数据存到另一-个文件中)二、输入一个文件名,默认这个文件存在的,计算文件有几行,多大字节。
2025-07-31 21:06:24
247
原创 25.7.22 数据结构day2作业
一、定义顺序表二、尾部插入三、循环打印顺序表四、尾部删除五、按下标查找六、按下标修改七、按下标删除八、按下标插入九、按元素查找十、按元素删除十一、按元素修改十二、去重十三、排序十四、释放内存。
2025-07-22 20:05:42
164
原创 25.7.16 day13作业
四、赶鸭子问题:一个人赶着鸭子去村庄卖,每经过一个村子卖出一半又一只,经过七个村庄后还剩下两只鸭子,问出发时共赶了多少只鸭子。二、用递归输出数的二进制。三、递归输出斐波那契数列。
2025-07-16 21:04:13
213
原创 25.7.10 day9作业
四、自己实现strcpy、strlen、strcat、strcmp。二、求二维数组中元素最大值的行标和列标,并输出最大值。五、终端输入一个带空格的字符串,输出有多少个单词。三、终端输入一个数,输出该数的二进制。
2025-07-10 21:33:38
146
原创 25.7.9 day8作业
三、终端输入一串字符,以'#'结束,统计大写字母、小写字母和数字字符的个数。二、定义一个有10个元素的数组,终端输入学生成绩,将成绩排序后输出。
2025-07-09 19:27:52
226
原创 25.7.8 day7作业
二、百钱买百鸡:一百元钱买一百只只,小鸡三只一元,公鸡一只五元,母鸡一只三元。完美数:因子和==数本身(因子包含1)四、输出1000以内的所有完美数。三、输出3-100中的所有质数。
2025-07-08 19:52:26
191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅