网上商城系统业务流程图
2023-05-23 12:17:07 33 举报
后端
作者其他创作
大纲/内容
失败
等待延迟结束进行下一轮检测
把请求放到处理数据的线程池
列队个数是否大于零并且与200毫秒前相等
阻塞在epoll_wait等待
Recv
有连接请求
成功
开始
启动检测客户端超时线程
把批量向数据库插入数据的任务函数,添加到线程池的任务列队
是
把数据插入到列队
结束线程将线程归还线程池
将数据插入到数据库
绑定成功
epoll被触发
客户端数据列队是否已经满了
阻塞在条件变量等待通知
执行完操作回去继续阻塞
否
建立连接成功
main函数初始化
关闭连接,将对应文件描述符从epoll树上取下,并从client_map列队删除,再记录到日志
处理完毕退出线程
client_map列队
客户端连接超时
通过条件变量通知线程处理数据
开始计时200毫秒
有数据请求
queue_insert_into
添加文件描述符到Epoll树
数据列队大于0并且小于列队最大容量
解析客户端数据
将错误信息记录到日志
把请求放到处理连接请求的线程池
启动批量处理客户端数据列队线程
给文件描述符绑定一个时间戳
线程结束,退出线程
循环检测Client_map
启动向数据库插入数据超时线程
启动Epoll
收藏
0 条评论
下一页