单线程
避免了上下文切换的资源消耗和线程之间的竞争消耗和锁的开支以及死锁导致的性能消耗
纯内存操作
避免了大量访问数据库读取磁盘
I/O多路复用
单线程处理多个连接请求,减少网络 IO 的时间消耗;
空闲时阻塞,依次顺序的处理就绪的流,避免了大量无用操作;
数据结构
不同场景使用对应的数据结构,减少内存使用和网络开支
避免了上下文切换的资源消耗和线程之间的竞争消耗和锁的开支以及死锁导致的性能消耗
避免了大量访问数据库读取磁盘
单线程处理多个连接请求,减少网络 IO 的时间消耗;
空闲时阻塞,依次顺序的处理就绪的流,避免了大量无用操作;
不同场景使用对应的数据结构,减少内存使用和网络开支