默认

从根上理解高性能、高并发(六):通俗易懂,高性能服务器到底是如何实现的

查看数: 92860 | 评论数: 8 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-01-25 00:30

正文摘要:

本文原题“高并发高性能服务器是如何实现的”,本次收录已征得作者同意,转载请联系作者。即时通讯网收录时有改动。 1、系列文章引言 1.1文章目的 作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早 ...

评论

欢乐马_BAXXB 发表于 3 年前
是不是在说event loop的handler应尽量避免io操作吖
游客 发表于 3 年前
eventloop 中只是建立连接,不要做阻塞和长时间任务,这时要异步处理(发送到执行业务的线程池中,然后基于事件回调),或者通过协程处理
乘风_jtpP6 发表于 3 年前
请问文章中的图是有什么工具画的
张新宇 发表于 3 年前
引用:zhangsan 发表于 2021-01-27 15:16
上面说  同样是一个服务员也可以同时处理多个顾客,这个服务员就相当于这里的Event loop,即使这个event lo ...

不矛盾啊。比如这个服务员(EventLoop)只是把菜端到客人桌子上就走,是很快就能给两桌客人提供服务的。但假如有一桌客人需要服务员(EventLoop)贴身服侍,比如站那端茶倒水,那就没空为第二桌客人端菜了。协程我理解就是如果需要端茶倒水就让他们这桌客人自己来吧。
zhangsan 发表于 3 年前
上面说的是event loop最终实现的效果。下面说的是实现这种效果的过程中遇到的问题,以及如何解决。是这样吗?楼主
zhangsan 发表于 3 年前
引用:JackJiang 发表于 2021-01-27 15:27
你咋看的这么认真呢

楼主 这一点怎么理解?求解
JackJiang 发表于 3 年前
引用:zhangsan 发表于 2021-01-27 15:16
上面说  同样是一个服务员也可以同时处理多个顾客,这个服务员就相当于这里的Event loop,即使这个event lo ...

你咋看的这么认真呢
zhangsan 发表于 3 年前
上面说  同样是一个服务员也可以同时处理多个顾客,这个服务员就相当于这里的Event loop,即使这个event loop只运行在一个线程(进程)中也可以同时处理多个用户请求。
下面又说  在单线程的event loop中是有问题的,原因就在于当我们在event loop中执行阻塞式IO操作时整个线程(event loop)会被暂停运行,这时操作系统将没有其它线程可以调度,因为系统中只有一个event loop在处理用户请求,这样当event loop线程被阻塞暂停运行时所有用户请求都没有办法被处理
这两种说法是不是相互矛盾呢?

返回顶部