Server-Sent Events是一种允许服务器向客户端推送实时事件的技术。与传统的HTTP请求 - 响应模式不同,SSE建立的是一个持久的HTTP连接,服务器可以在任何时候通过这个连接向客户端推送数据。 前言 在当今互联网应用中,实时数据交互已成为关键需求。从AI聊天机器 ...
HardwareSerial 库是c++编写的,应用于esp32 Arduino应用环境的串口驱动库,我们在安装好ESP32的Arduino开发环境后就已经集成了这个串口 ...
JDK 的 java.util.concurrent 包(即 J.U.C)中提供了几个非常有用的并发工具类。 CountDownLatch 字面意思为 递减计数锁。用于控制一个线程等待多个线程。 CountDownLatch 维护一个计数器 count,表示需要等待的事件数量。countDown 方法递减计数器,表示有一个事件已经发生。
容错编程是一种重要的编程思想,它能够提高应用程序的可靠性和稳定性,同时提高代码的健壮性。本文总结了一些作者在面对服务失败时如何进行优雅重试,比如aop、cglib等同时对重试工具\组件的源码和注意事项进行总结分析。 容错编程是一种旨在确保应用 ...
今天我们来玩儿串口。 概述 ESP32 芯片有3 个 UART 接口,UART0,UART1,UART2,支持异步通信和 IrDA,通信速度最高可达 5Mbps,3 个接口可以被 DMA 或 CPU 直接访问,3 个串口带发送接收 FIFO,共享 1024*8bit 的 RAM,通过串口,我们可以非常方便的跟其它外设进行通信或者 ...
在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?
epoll作为一种机制,作用远远超过了它的代码量,存量和以后新增的模块都可以使用这种机制。比如管道、TCP、新增的eventfd等等。从中我们也看到了epoll本身的一些知识,比如他为什么高效、水平触发和边缘触发、epoll本身如何解决惊群现象。 epoll是现代服务器的 ...
有一次,光神 在群问了个问题: 当 close 一个 TCP 连接时,如果还有没发送完的数据在缓冲区中,内核会怎么处理? 当时我认为,因为关闭 TCP 连接会触发四次挥手过程,而为了让四次挥手能够快速完成,应该会把发送缓冲区的数据清空,然后发送四次挥手的数据包 ...
1、公司目前所用数据同步方案存在消息丢失的情况,原因为网络抖动或断电等原因造成的异常的服务关闭等等; 2、开源的canal服务端进行了升级,修复了一些bug;包含修复MQ模式下的delete事件乱序发送问题; 3、公司的数据同步越来越多,维护成本和时间增加 ...
JDK 5引入了Future模式。Future接口是Java多线程Future模式的实现,在java.util.concurrent包中,可以来进行异步计算。 Future模式是多线程设计常用的一种设计模式。Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想 ...