invalid
文章平均质量分 90
invalid articles
xl拾一
这个作者很懒,什么都没留下…
展开
-
使用场景(2)ZK和MQ
Zookeeper数据发布与订阅(配置中心)负载均衡命名服务分布式通知/协调集群管理与master选举分布式锁分布式队列MQ产品RabbitMQKafkaRocketMQ常用场景异步消息应用解耦流量削峰日志对比见链接选型参考上文参考:https://user-gold-cdn.xitu.io/2018/6/28/164457bef2701e85?imageView2/0/w/1280/h/960/format/webp/ignore-e原创 2020-09-08 20:21:08 · 1162 阅读 · 0 评论 -
使用场景(1)数据库篇
1. 数据库篇1.1 关系型数据库适合存储结构化数据,如用户信息、订单信息等,通常会进行结构化查询,比如join结构化数据数据增长规模可预期(非大数据量)数据的事务性、一致性1.2 数据库中间件1.2.1 数据库拆分顺序垂直拆分(库):一个表一个库(另一种垂直拆分(表):大表拆分为小表,每个表包含部分字段)原因:小组职责隔离,或者说服务化读写分离:主写从读 + 主从复制原因:并发量过大,单机库扛不住(解决读)水平拆分(库):分库分表(一个表存储部分数据,多个表的并集是原创 2020-09-07 23:19:49 · 768 阅读 · 0 评论 -
控制台之打字母游戏
视频链接:https://edu.csdn.net/course/play/3397/57829环境:windows+vs+控制台程序游戏介绍:游戏开始后,落下一个字母,在掉到底部之前输出相应字母,加分;输出其他字母,扣分;无输入,当作错误输入,扣分。继续落下字母,直到游戏结束升级:分数增加,游戏变难,下降速度变快升级:字母曲线下落升级:界面截图代码#incl...原创 2018-11-12 18:43:00 · 276 阅读 · 0 评论 -
Linux console聊天室之基于libevent
结果图客户端实现 连接完成之后,新建一个线程负责循环接收消息并显示,主线程负责循环发送消息服务器实现 1.创建套接字句柄,地址设为可复用,并且非阻塞 [1] 可复用:evutil_make_listen_socket_reuseable 参数:套接字 [2] 非阻塞:evutil_make_socket_nonblocking 参数:套接字 2.初始化事件集...原创 2018-11-11 14:31:56 · 687 阅读 · 0 评论 -
Linux并发服务器之线程池(thread实现)
流程创建套接字至监听:s线程池初始化:poolwhile循环[1] accept接受连接:c[2] 创建新任务,参数c:task[3] 加入到任务队列:pool.append_task(task)任务:task客户端套接字:cecho函数:循环接收客户端消息并回射锁:mutex条件变量:myCond介绍:基于condition_variable实现函数:[1]...原创 2018-11-09 20:38:42 · 517 阅读 · 0 评论 -
Linux 并发echo服务器之IO复用之epoll
epoll函数1:epoll_create函数2:epoll_ctl函数3:epoll_wait流程Init:套接字描述符s调用epoll_creat进行初始化发,返回描述符调用epoll_ctl事件注册函数,即监听swhile[1] 调用epoll_wait等待事件产生[2] 若s反应,即新连接请求到来,接受并调用事件注册函数[3] 若客户端反应,即收到消息,echo,如...原创 2018-11-03 15:51:43 · 242 阅读 · 0 评论 -
Linux 并发echo服务器之IO复用之poll
poll简介:将监听描述符和客户端描述符加入指定集合,指定等待的事件,然后轮询,得到实际事件,作出反应函数:int poll ( struct pollfd *fds , unsigned int fds_sz , int timeval )struct pollfd { int fd; short events; short revents;};参数说明:第一个:待监测集...原创 2018-11-03 15:13:01 · 174 阅读 · 0 评论 -
Linux 并发echo服务器之I/O复用之select
select简介:将待监听套接字加入集合,监测,若有数据到来,进行echo,若有新连接请求到来,accept并将对应套接字加入集合函数:int select(int , fd_set* rd, fd_set* wr , fd_set* except , const struct timeval * )参数详解:第一个:int,套接字集中值最大的加1(上限)第二-四个:待监测集,若有...原创 2018-11-03 14:59:11 · 358 阅读 · 0 评论 -
Linux 并发echo服务器之多线程
流程编译g++ -o ser server.cpp -std=c++11 -pthreadCode原创 2018-11-03 14:41:17 · 656 阅读 · 0 评论 -
Linux 并发echo服务器之多进程
流程创建套接字:s设置地址并绑定监听while[1] 接收连接:c[2] 创建子进程[3] 父进程:close©[4] 子进程:close(s)Chat©close©exit(0)[5] Chat©while: recv sendclose(s)Code#include <iostream>#include <unistd.h>#...原创 2018-11-03 11:15:44 · 924 阅读 · 0 评论 -
Linux 循环服务器之UDP
流程创建套接字:s设置地址并绑定while[1] recv[2] sendclose(s)客户端使用telnet测试Code#include <iostream>#include <unistd.h>#include <stdlib.h>#include <sys/socket.h>#include <sy...原创 2018-11-03 11:10:04 · 239 阅读 · 0 评论 -
Linux 循环服务器之TCP
流程创建套接字:s设置地址并绑定监听while[1] 接收连接:c[2] recv[3] send[4] close©close(s)客户端手动实现进行测试使用telnet进行测试Code说明:建议对函数返回值检测,更安全#include <iostream>#include <unistd.h>#include <stdl...原创 2018-11-03 11:06:26 · 210 阅读 · 0 评论 -
操作系统课程设计(无代码)
实验1:作业调度1.1实验目的1、 对作业调度的相关内容作进一步的理解。2、 明白作业调度的主要任务。3、 通过编程掌握作业调度的主要算法。1.2实验内容1、 假设系统中可同时运行两道作业,给出每道作业的到达时间和运行时间,如下表所示:2、 分别用先来先服务算法、短作业优先和响应比高者优先三种算法给出作业的调度顺序。3、 计算每一种算法的平均周转时间及平均带权周转时间并比较不同...原创 2018-11-02 17:31:46 · 6165 阅读 · 1 评论 -
c++ 二叉树的遍历
树节点using T = int;typedef struct BTreeNode{ T value; struct BTreeNode *lchild; struct BTreeNode *rchild;}BTreeNode;递归实现前序遍历void PreOrder(BTreeNode * root) { if (root ...原创 2018-08-04 10:36:46 · 123 阅读 · 0 评论 -
C-S结构的多clients聊天室
服务器流程初始化WinSock创建套接字serverSocket设置服务器地址及端口信息绑定地址到serverSocket监听并设置客户端连接个数while true 接收连接并返回一个套接字clients[i] 注意:clients是一个SOCKET数组,对应请求连接的客户端创建线程,返回一个句柄,将线程函数名作起始地址传递,并将i作下标传递 关闭句柄...原创 2018-08-02 22:16:54 · 204 阅读 · 0 评论 -
C++ 简易计算器
介绍:仅支持自然数间的+ - * /操作,并没有括号。实现:利用栈实现存储运算数以及运算符。流程:输入:string exp对EXP进行处理:数字入数栈,运算符入字符栈。对字符栈检测,非空时进行:计算输出:结果。处理:数字则入数栈,字符就进行判断, 1)栈空,字符入栈 ...原创 2018-05-25 17:04:44 · 2095 阅读 · 0 评论 -
C++链表实现学生成绩管理(增删改查)
简介:并未封装成类,功能也仅实现了增量改查。数据为txt,格式:学号(long)姓名(string)总分(int)学生信息结构体struct Student { long m_id; string m_name; int m_score;};节点结构体struct Node { Student data; Node* next; Node() ...原创 2018-05-24 17:12:11 · 5021 阅读 · 0 评论 -
C++实现通讯录
简介:通讯录由一个拥有者以及通讯信息组成。基本功能:增删改查原创 2018-05-23 08:04:42 · 10980 阅读 · 2 评论 -
base-反射
base-反射功能创建实例获取构造器获取方法、获取属性、填充属性--getXxx获取pub,方法和属性还会获取父类的getDeclaredXxx获取pub pri等,限定为当前类声明的方法和属性democlass Base {}class Person extends Base {}Class<Person> personClazz = Person.class;创建实例获取Class<T>对象:三种方式Cl原创 2020-12-20 01:07:02 · 193 阅读 · 1 评论