事件驱动
Michael_Good
脚踏实地,不负时光!
展开
-
【架构设计】模块化-面向接口编程
路由通信,虽然解决了耦合的问题,但是调用的方法都是静态的。比如:一个读卡的操作,业务层需要对它进行开关、暂停等操作,通过接口可以很好的返回一个服务控制器,然后直接进行相应的操作即可。通过路由通信,可以很好的解决模块间耦合,但是拿不到对象无法持续交互,并且需要序列化,而通过面向接口编程,可以很好的解决这一点,并且代码的可读性较高。但是面向接口又会存在一定的耦合性,也就是依赖了服务侧的API,但是对于收益来说还是值得的。核心思想是,先定义底层接口模块,也就是通信的协议与功能约定,是提供方实现对应的功能与能力。原创 2024-06-23 20:34:01 · 315 阅读 · 0 评论 -
【后端技术】Nginx配置文件基本说明和使用,亲测可行
Nginx 是一个高性能的 HTTP 和反向代理服务器,以及 IMAP/POP3 代理服务器。它以其高性能、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。配置文件的修改通常需要重启 Nginx 服务以使更改生效。在实际使用中,你可能需要根据自己的需求添加或修改配置。例如,如果你需要配置 SSL/TLS 加密通信,你可能需要添加。如果有错误,它会指出错误的位置和原因。相关的配置块,并指定证书和密钥文件的位置。如果你需要配置反向代理,你可能需要在。,但具体位置可能会根据你的操作系统和安装方式有所不同。原创 2024-06-09 20:34:26 · 114 阅读 · 0 评论 -
关于水平触发与边缘触发
水平触发时,客户端输入 8 个字符触发了一次读就绪事件,由于被监视文件上还有数据可读故一直返回读就绪,服务端 4 次循环每次都能取到 2 个字符,直到 8 个字符全部读完。边缘触发:关注点是变化,只有监视的文件上有数据变化发生(读操作关注有数据写进缓冲区,写操作关注数据从缓冲区取走),epoll_wait 才会返回。等客户端再输入一个字符串后,服务端关注到了数据的“变化”继续从缓冲区读接下来的 2 个字符“c”和”d”。水平触发(LT)和边缘触发(ET)是 epoll_wait 的 2 种工作模式。原创 2023-04-14 10:20:39 · 383 阅读 · 0 评论 -
【Linux 事件驱动模型】selet/epoll 里程碑意义记录
具体来说,当进程调用select/epoll系统调用时,内核会将进程的文件描述符集合复制到内核空间,并使用poll_wait函数将进程添加到每个文件描述符对应的等待队列中。当有事件发生时,内核会使用中断或轮询等机制来感知事件的发生,并将发生事件的文件描述符集合传递给select/epoll系统调用的核心函数,让它检查哪些文件描述符有事件发生。当中断发生时,内核会调用中断处理程序来处理事件,并将发生事件的文件描述符集合传递给select/epoll系统调用的核心函数。原创 2023-04-13 16:49:15 · 129 阅读 · 0 评论 -
C/C++时间驱动案例/Demo
这个程序会监听指定的端口,当有客户端连接时,将客户端的socket添加到epoll中,并等待事件。当有数据可读时,读取数据并回复相同的数据。当客户端关闭连接时,关闭socket并从epoll中删除。这个程序使用了非阻塞IO和事件驱动的编程模式,可以处理多个连接和并发读写。原创 2023-03-08 10:56:48 · 202 阅读 · 0 评论