默认

高性能网络编程(六):一文读懂高性能网络编程中的线程模型

查看数: 220534 | 评论数: 27 | 收藏 28
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-09-07 01:00

正文摘要:

1、前言 本文接上篇《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》。 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力。本文(和上篇《高性能网络编程(五): ...

评论

JackJiang 发表于 1 年前
引用:肥猫布里奇高 发表于 2023-04-09 14:07
捉虫:
原文:“即 I/O 多了复用统一监听事件,收到事件后分发(Dispatch 给某进程)”
应该是:"即 I/O 多 ...

已修订
肥猫布里奇高 发表于 1 年前
捉虫:
原文:“即 I/O 多了复用统一监听事件,收到事件后分发(Dispatch 给某进程)”
应该是:"即 I/O 多路复用统一监听事件,收到事件后分发(Dispatch 给某进程)"
Yj_yanyi 发表于 2 年前
学习了
junmy-im 发表于 2 年前
引用:junmy-im 发表于 2022-04-14 22:37
我在其他简书上看到这个图片和这个帖子图片很像,不知道是本网站那个帖子

找到了
junmy-im 发表于 2 年前
我在其他简书上看到这个图片和这个帖子图片很像,不知道是本网站那个帖子

chapter05_061.png (441.32 KB, 下载次数: 1206)

chapter05_061.png
JackJiang 发表于 2 年前
引用:junmy-im 发表于 2022-04-09 22:42
这玩意学起来好痛苦

忍一忍就过去了。。。
junmy-im 发表于 2 年前
这玩意学起来好痛苦
登至必极 发表于 3 年前
引用:JackJiang 发表于 2019-01-21 21:46
是的,你说的有道理,但确实没有办法用一个简单的词准确地表述出来。你说的程序模式又太生硬,等于没解释 ...

应该叫通信模型吧
leaffei 发表于 3 年前
写的不错
JackJiang 发表于 4 年前
引用:zhangjian2 发表于 2020-06-23 09:34
“Reactor 是非阻塞同步网络模型”, 这个论述是不是有问题,reactor也是阻塞io,应该多路复用,多个连接阻 ...

你说的好绕
zhangjian2 发表于 4 年前
“Reactor 是非阻塞同步网络模型”, 这个论述是不是有问题,reactor也是阻塞io,应该多路复用,多个连接阻塞在同一个阻塞对象上
mark_lin 发表于 4 年前
引用:echo_no7 发表于 2019-12-30 17:51
reactor 主从模式 解释很懵  想从代码上理解, 也还是懵的:
1)Reactor 主线程 MainReactor 对象通过 Selec ...

建议你看下epoll编程示例就会清楚了,我跟你一样,刚看也蒙蒙的
mark_lin 发表于 4 年前
引用:JackJiang 发表于 2019-06-26 18:57
这就直接到达頩颈上限了,代码和业务都需要优化了。。

nginx反向代理+横向扩容  ?
echo_no7 发表于 4 年前
reactor 主从模式 解释很懵  想从代码上理解, 也还是懵的:
1)Reactor 主线程 MainReactor 对象通过 Select 监控建立连接事件,收到事件后通过 Acceptor 接收,处理建立连接事件;
2)Acceptor 处理建立连接事件后,MainReactor 将连接分配 Reactor 子线程给 SubReactor 进行处理;  
3)SubReactor 将连接加入连接队列进行监听,并创建一个 Handler 用于处理各种连接事件;
4)当有新的事件发生时,SubReactor 会调用连接对应的 Handler 进行响应;
5)Handler 通过 Read 读取数据后,会分发给后面的 Worker 线程池进行业务处理;
6)Worker 线程池会分配独立的线程完成真正的业务处理,如何将响应结果发给 Handler 进行处理;
7)Handler 收到响应结果后通过 Send 将响应结果返回给 Client。

前三步一直理解不了,请问 还有其他文章解释这段的吗?  多谢了
zippozeng 发表于 5 年前
有没有实际的代码?可以参考一下
wxainn 发表于 5 年前
如此优秀
JackJiang 发表于 5 年前
引用:guoqi233 发表于 2019-06-26 17:49
如果worker线程池被全部占用时,handeler处理也会积压,这种情况改怎么办?

这就直接到达頩颈上限了,代码和业务都需要优化了。。
guoqi233 发表于 5 年前
如果worker线程池被全部占用时,handeler处理也会积压,这种情况改怎么办?
cat 发表于 5 年前
原来reactor还有异步模式的

返回顶部