自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 wwwwwwww6

printf("\n------ 用户信息管理系统 ------\n");printf("用户信息找到:\n");printf("请输入新的用户名:");printf("保存文件失败。printf("请输入新的ID:");printf("请输入新的密码:");printf("请输入新的电话:");printf("请输入新的邮箱:");printf("请输入要查找的用户名:");printf("请输入新用户的用户名:");printf("请输入要修改的用户名:");printf("请输入新用户的ID:");

2023-07-28 14:59:30 117

原创 wwwwwww5

/ 根据任务队列长度和工作线程数量调整线程池。// 任务队列为空且线程池停止运行,结束线程。// 检查任务队列长度和工作线程数量。// 将客户端信息添加到任务队列中。// 线程池已满,拒绝连接。// 创建新的工作线程。// 销毁一个工作线程。// 休眠一段时间后重新检查。// 创建线程处理客户端通信。// 创建客户端信息结构体。// 等待有可用的任务。// 接收客户端消息。// 接受客户端连接。// 等待线程池中的线程结束。// 设置服务器地址结构。// 等待管理者线程结束。

2023-07-28 11:11:00 157

原创 wwwwwww4

/ 接收和发送消息,直到收到退出消息。// 子进程中处理与客户端的通信。// 发送消息给客户端。// 父进程中继续监听连接请求。// 接收客户端消息。// 创建子进程来处理客户端通信。// 关闭客户端套接字。// 绑定服务器套接字到指定端口。// 接受客户端连接。// 设置服务器地址结构。// 创建服务器套接字。// 关闭服务器套接字。

2023-07-28 11:00:22 1046

原创 wwwwww3

/ 拿到了左边的筷子而没拿到右边的就放下刚刚拿到的左边的筷子。// 初始化 chopsticks (mutexes)// 初始化 chopsticks (mutexes)// 拿起右边的筷子。// 让其他哲学家线程先运行。// 拿起右边的筷子。// 等待哲学家线程结束。// 等待哲学家线程结束。// 创建哲学家线程。

2023-07-28 10:26:05 50

原创 wwwwww2

/ 检查共享内存是否为满。// 检查缓冲区是否为空。// 获取互斥信号量。// 获取互斥信号量。// 释放互斥信号量。

2023-07-28 10:10:10 74

原创 wwwwwww1

CC = gccclean:

2023-07-28 00:25:30 145

原创 91919

/ 每隔5秒检测一次。// 接收和发送消息,直到收到退出消息。// 发送消息给客户端。// 检测任务队列和活跃线程数。// 接收客户端消息。// 等待任务队列不为空。// 绑定服务器套接字到指定端口。// 添加任务到任务队列。// 通知任务队列不为空。// 通知任务队列不满。// 关闭客户端套接字。// 创建线程池和管理者线程。// 接受客户端连接。// 设置服务器地址结构。

2023-07-13 13:37:00 47

原创 838383

/ 绑定服务器套接字到指定端口。// 发送消息给客户端。// 添加客户端到队列。// 创建新的工作线程。// 接收客户端消息。// 接受客户端连接。// 设置服务器地址结构。// 关闭客户端套接字。// 创建服务器套接字。// 关闭服务器套接字。

2023-07-13 11:24:46 30

原创 828282

/ 发送和接收消息,直到发送退出消息。// 创建线程处理客户端通信。// 绑定服务器套接字到指定端口。// 发送消息给客户端。// 发送消息给服务器。// 接收客户端消息。// 接受客户端连接。// 接收服务器消息。// 设置服务器地址结构。// 设置服务器地址结构。// 关闭客户端套接字。// 创建服务器套接字。// 关闭服务器套接字。// 创建客户端套接字。

2023-07-13 10:50:55 38

原创 818181

/ 设置线程池的容量为5。// 将客户端套接字信息保存到线程池中的空闲线程中。// 通知管理者线程有新的客户端连接。// 等待直到线程池中有空闲线程。// 接收和发送消息,直到收到退出消息。// 获取下一个客户端套接字。// 创建线程处理客户端通信。// 增加线程池中线程的数量。// 增加线程池中线程的数量。// 发送消息给客户端。// 主线程负责接受客户端连接。// 接收客户端消息。// 接受客户端连接。

2023-07-13 10:24:56 44

原创 747474

/ 检查任务队列中的任务数量和工作线程个数。// 处理客户端请求(这里只是回显)// 将客户端信息添加到任务队列中。// 线程池已满,拒绝连接。// 创建新的工作线程。// 销毁一个工作线程。// 发送和接收消息,直到发送退出消息。// 等待一段时间再次检查。// 创建客户端信息结构体。// 适当调整线程池大小。// 绑定服务器套接字到指定端口。// 发送消息给服务器。// 接收客户端消息。// 接受客户端连接。// 等待线程池中的线程结束。// 接收服务器消息。// 设置服务器地址结构。

2023-07-13 10:01:13 41

原创 737373

/ 根据任务队列长度和工作线程数量调整线程池。// 任务队列为空且线程池停止运行,结束线程。// 检查任务队列长度和工作线程数量。// 将客户端信息添加到任务队列中。// 线程池已满,拒绝连接。// 创建新的工作线程。// 销毁一个工作线程。// 发送和接收消息,直到发送退出消息。// 创建线程处理客户端通信。// 创建客户端信息结构体。// 等待有可用的任务。// 发送消息给服务器。// 接收客户端消息。// 接受客户端连接。// 等待线程池中的线程结束。// 接收服务器消息。

2023-07-13 09:50:55 39

原创 727272

/ 处理客户端请求(这里只是回显)// 发送和接收消息,直到发送退出消息。// 创建线程处理客户端通信。// 创建客户端信息结构体。// 将线程添加到线程池中。// 绑定服务器套接字到指定端口。// 发送消息给服务器。// 接收客户端消息。// 接受客户端连接。// 等待线程池中的线程结束。// 接收服务器消息。// 设置服务器地址结构。// 设置服务器地址结构。// 关闭客户端套接字。// 创建服务器套接字。// 关闭服务器套接字。

2023-07-13 09:34:05 26

原创 717171

/ 根据任务队列长度和工作线程数量调整线程池。// 任务队列为空且线程池停止运行,结束线程。// 检查任务队列长度和工作线程数量。// 将客户端信息添加到任务队列中。// 线程池已满,拒绝连接。// 创建新的工作线程。// 销毁一个工作线程。// 发送和接收消息,直到发送退出消息。// 休眠一段时间后重新检查。// 绑定服务器套接字到指定端口。// 等待有可用的任务。// 发送消息给服务器。// 接收客户端消息。// 接受客户端连接。// 等待线程池中的线程结束。// 接收服务器消息。

2023-07-13 09:33:22 40

原创 656565

/ 子进程不需要监听连接请求的套接字。// 父进程不需要与客户端通信的套接字。// 接收和发送消息,直到收到退出消息。// 子进程中处理与客户端的通信。// 发送消息给客户端。// 父进程中继续监听连接请求。// 接收客户端消息。// 创建子进程来处理客户端通信。// 关闭客户端套接字。// 绑定服务器套接字到指定端口。// 接受客户端连接。// 设置服务器地址结构。// 创建服务器套接字。// 关闭服务器套接字。

2023-07-11 10:54:08 494

原创 646464

/ 子进程不需要监听连接请求的套接字。// 父进程不需要与客户端通信的套接字。// 接收和发送消息,直到收到退出消息。// 子进程中处理与客户端的通信。// 发送消息给客户端。// 父进程中继续监听连接请求。// 接收客户端消息。// 创建子进程来处理客户端通信。// 关闭客户端套接字。// 绑定服务器套接字到指定端口。// 接受客户端连接。// 设置服务器地址结构。// 创建服务器套接字。// 关闭服务器套接字。

2023-07-11 10:41:33 51

原创 636363

/ 接收和发送消息,直到收到退出消息。// 绑定服务器套接字到指定端口。// 发送消息给客户端。// 接收客户端消息。// 设置服务器地址结构。// 创建服务器套接字。// 接受客户端连接。

2023-07-11 10:21:51 39

原创 626262

/ 接收和发送消息,直到收到退出消息。// 绑定服务器套接字到指定端口。// 发送消息给客户端。// 接收客户端消息。// 设置服务器地址结构。// 创建服务器套接字。// 接受客户端连接。

2023-07-11 10:14:12 40

原创 616161

/ 接收和发送消息,直到收到退出消息。// 绑定服务器套接字到指定端口。// 发送消息给客户端。// 接收客户端消息。// 设置服务器地址结构。// 创建服务器套接字。// 接受客户端连接。

2023-07-11 10:03:13 60

原创 575757

int in;int out;int count;} Buffer;exit(1);exit(1);exit(1);exit(1);int data;sleep(1);return 0;

2023-07-10 14:38:59 42

原创 515151

printf("消费者读取缓冲区 %d: %s", i, bufferPool->buffer[i]);printf("生产者写入缓冲区 %d: %s", i, bufferPool->buffer[i]);#include <stdio.h>}这是消费者代码,说中文。

2023-07-10 14:21:53 85

原创 474747

/ 检查缓冲区是否已满。// 获取互斥信号量。// 释放互斥信号量。// 断开共享内存连接。

2023-07-10 11:05:16 14594

原创 464646

/ 检查缓冲区是否已满。// 检查缓冲区是否为空。// 获取互斥信号量。// 释放互斥信号量。// 获取互斥信号量。// 释放互斥信号量。// 断开共享内存连接。// 断开共享内存连接。

2023-07-10 10:55:38 46

原创 454545

/ 断开共享内存连接。// 断开共享内存连接。// 获取互斥信号量。// 释放互斥信号量。// 获取互斥信号量。// 取出缓冲区数据。// 释放互斥信号量。

2023-07-10 10:39:53 20

原创 424242

else {int i;for (i = 0;i++) {for (i = 0;i++) {for (i = 0;i++) {// Cleanupfor (i = 0;i++) {return 0;

2023-07-10 09:36:43 14

原创 414141

int i;for (i = 0;i++) {for (i = 0;i++) {for (i = 0;i++) {// Cleanupfor (i = 0;i++) {return 0;

2023-07-10 09:28:11 90

原创 383838

/ 定义共享内存大小和缓冲池大小。// 定义共享内存大小和缓冲池大小。// 定义信号量操作结构体。// 定义信号量操作结构体。// 定义共享内存结构体。// 定义共享内存结构体。// 定义缓冲区状态。// 定义缓冲区状态。

2023-07-08 15:48:29 56

原创 373737

/ 定义共享内存大小和缓冲池大小。// 定义共享内存大小和缓冲池大小。// 定义信号量操作结构体。// 定义信号量操作结构体。// 定义共享内存结构体。// 定义共享内存结构体。// 定义缓冲区状态。// 定义缓冲区状态。

2023-07-08 15:41:50 56

原创 363636

/ 结束条件:如果所有缓冲区都已经被消费,则退出循环。// 读取数据并写入输出文件。// 释放缓冲区的访问权。// 等待可消费的缓冲区。// 查找可消费的缓冲区。// 释放缓冲区的访问权。// 等待可用的缓冲区。// 查找可用的缓冲区。// 写入数据到缓冲区。// 重置缓冲区状态。// 定义信号量操作结构体。// 定义信号量操作结构体。

2023-07-08 15:17:13 21

原创 353535

/ 结束条件:如果所有缓冲区都已经被消费,则退出循环。// 另一个子进程作为第二个生产者。// 读取数据并写入输出文件。// 子进程作为第一个生产者。// 释放缓冲区的访问权。// 等待可消费的缓冲区。// 查找可消费的缓冲区。// 释放缓冲区的访问权。// 等待可用的缓冲区。// 查找可用的缓冲区。// 写入数据到缓冲区。// 重置缓冲区状态。// 父进程作为第一个消费者。// 删除共享内存和信号量集。// 创建另一个子进程。// 等待子进程结束。// 定义信号量操作结构体。

2023-07-08 15:02:33 139

原创 343434

/ 标记缓冲区为已使用。// 标记缓冲区为可分配。// 初始化信号量为1,用于互斥访问缓冲池。// 读取数据并写入文件。// 打印生产者工作过程。// 等待缓冲区可分配。// 查找可用的缓冲区。// 将数据写入缓冲区。// 等待缓冲区可消费。// 检查缓冲区状态。// 创建两个生产者进程。// 创建两个消费者进程。// 等待所有子进程结束。// 连接到共享内存段。// 初始化缓冲池结构。// 创建共享内存段。

2023-07-08 14:54:15 22

原创 313131

/ 消费者读取位置。// 生产者写入位置。// 共享内存标识符和信号量集标识符。// 删除共享内存和信号量。// 初始化共享内存和信号量。

2023-07-08 11:40:38 25

原创 313131

/ fork 失败。

2023-07-08 10:01:42 28

原创 303030

/ fork 失败。

2023-07-08 09:51:50 18

原创 252525

int id;} User;User user;} TreeNode;} else {} else {free(root);free(root);if (root!= NULL) {if (root!= NULL) {User user;= NULL) {if (root!= NULL) {free(root);int choice;User user;do {

2023-07-07 14:50:02 14 1

原创 242424

/ 模拟保存到.csv文件。// 中序遍历二叉排序树,并按照用户名排序打印输出。// 这里使用一个简单的示例用户数据。// 模拟从.csv文件读取用户信息。// 保存用户信息到.csv文件。// 定义二叉排序树节点结构体。// 在二叉排序树中查找节点。// 插入节点到二叉排序树。// 创建二叉排序树节点。// 释放二叉排序树内存。// 定义用户结构体。

2023-07-07 14:41:51 28 1

原创 232323

/ 保存节点信息到.csv文件。// 从.csv文件加载节点信息。// 结构体定义:用户信息。// 插入节点到二叉排序树。// 中序遍历打印节点信息。// 释放二叉排序树节点。// 创建用户信息节点。

2023-07-07 12:02:18 23 1

原创 212121

printf("用户信息已保存到文件。printf("请输入新的用户ID: ");printf("请输入新的电话号码: ");printf("请输入新的用户名: ");printf("请输入新的密码: ");printf("请输入新的邮箱: ");printf("请输入要查找的用户名: ");printf("请输入要删除的用户名: ");printf("请输入要修改的用户名: ");printf("用户信息:\n");printf("请输入用户ID: ");printf("请输入电话号码: ");

2023-07-07 11:43:23 83 1

原创 202020

/ 去掉输入中的换行符。// 去掉输入中的换行符。// 去掉输入中的换行符。// 去掉输入中的换行符。// 去掉输入中的换行符。// 消费掉输入缓冲区中的换行符。

2023-07-07 11:25:53 22 1

原创 191919

/ 读取.csv文件中的用户信息并构建二叉排序树。// 中序遍历二叉排序树,并将节点信息保存到数组。// 将中文转换成拼音,按字母顺序比较。// 保存二叉排序树的节点信息到.csv文件。// 按照用户名首字母顺序写入文件。// 中序遍历并保存节点到数组。// 中序遍历二叉排序树并打印节点信息。// 查找二叉排序树中的最小节点。// 创建数组保存节点。//在二叉排序树中修改节点信息。// 定义二叉排序树的结构体。// 插入节点到二叉排序树中。// 在二叉排序树中查找节点。// 删除二叉排序树中的节点。

2023-07-07 11:16:04 59 1

iter_tcp_cs_echo.tar

iter_tcp_cs_echo

2023-07-06

code2.c

code2

2023-07-06

c语言,链表,文件,指针,表

c语言,链表,文件,指针,表

2023-07-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除