摘要: 说明 一直听说epoll的饥饿场景,但是从未在实际环境中面对过,那么能不能模拟出来呢?实际的情况是怎样呢? 模拟步骤 基于epoll写一个简单的tcp echo server,将每次read返回的字节数打印出来 模拟一个客户端大量写入 测试其他客户端能否正常返回 Server代码 #include 阅读全文
posted @ 2024-06-12 19:47 by_mzy 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 使用要点 边缘模式(ET)与水平模式(LT)区别 下面内容来自linux man page The epoll event distribution interface is able to behave both as edge-triggered (ET) and as level-trigge 阅读全文
posted @ 2024-06-12 13:11 by_mzy 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 理解程序的执行 我们要知道CPU可以自由地访问寄存器、内存。另外,程序是由操作系统执行的,所以操作系统能够控制程序的所有执行情况,限制程序的行为。 程序地执行过程: 程序是一个二进制文件,包含程序的代码指令、代码中的文本信息等(参考C语言的程序的各种段) 执行一个程序后,会将这个二进制加载到内存中, 阅读全文
posted @ 2024-06-11 18:30 by_mzy 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 环境 redis 7.2.5 主频 核心数 内存 2.5GHz 32 64GB 测试结论 当前场景下redis单线程、多线程表现差异不大 使用pipeline模式可以显著提高基准性能 非pipilie下redis性能再12~13w左右 pipiline下redis性能在35w左右 测试记录 单线程r 阅读全文
posted @ 2024-06-06 10:48 by_mzy 阅读(378) 评论(5) 推荐(1) 编辑
摘要: #include <stddef.h> #include <iostream> struct s1{ int a; int b; }; #pragma pack(8) struct s2{ char c; int a; double b; }; struct s3 { char b[10]; dou 阅读全文
posted @ 2024-06-04 09:40 by_mzy 阅读(8) 评论(0) 推荐(0) 编辑
摘要: MemfireCloud让静态托管页面动起来! 静态托管 我们最常接触到的静态托管是github pages,它的常见工作模式是在github上创建一个仓库,使用hexo类的工具初始化仓库,编写markdown文件,生成静态页面,推送到github上完成页面更新,比如这样一个静态的网站。 局限性 原生静态托管的局限性在于它的更新通常需要重新将ma 阅读全文
posted @ 2024-03-28 16:02 by_mzy 阅读(51) 评论(2) 推荐(0) 编辑
摘要: PyGame做了一个扫雷 效果 绿色的F表示右键点击插旗的地方 红色的格子表示点击到了地雷 原理 主时间循环 基本上GUI应用都会有一个主循环,用来接收各种事件,并按照时间类型进行不同的处理。 while True: for event in pygame.event.get(): if event.type == pyga 阅读全文
posted @ 2022-10-31 13:15 by_mzy 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 用途 在处理多个 socket 套接字的时候,会很自然的遇到一个问题:某个套接字什么时候可读?什么时候可写?哪些套接字是需要关闭的?我们可以回忆一下,一般我们在最开始编写socket程序的时候,send,recv都是同步的,send完后就傻等着recv。这种模式的一个很大的问题是,recv会占用一整 阅读全文
posted @ 2017-02-12 15:52 by_mzy 阅读(410) 评论(1) 推荐(0) 编辑