1
whatTheGhost OP 2 楼,坐标杭州,两年半工作经验,求一个 C++方向的坑。个人技能树 c++,Qt,Boost,SQLserver,mongDB,Linux,design pattern ……
微信 hebcyeah 邮箱 [email protected] |
2
htfy96 2017-02-18 12:15:12 +08:00 via Android
是 oschina 上之前那个用了 REUSEPORT 的那个吗?之前看了感觉不错,自己最近也打算跟着写一个
|
3
whatTheGhost OP @htfy96 之前只在 chinaunix 发过,也没用 reuseport 。这个是基于 linux 的 IO 复用机制和基本的 socket 操作实现的。
最近打算写一个非常通俗详细的文档,大概是从零开始搭一个 reactor 模式网络库。希望给别人学习网络编程有点帮助。 |
4
Charles0429 2017-02-18 13:17:35 +08:00
|
5
whatTheGhost OP @Charles0429 感谢了。看了一下,感觉和我的技能重合度低,我也不太了解数据库的底层实现,机会不是很大。谢谢了。
|
6
ji4ozhu 2017-02-18 17:40:55 +08:00
海口来么
|
7
SlipStupig 2017-02-19 11:12:04 +08:00
@ji4ozhu 遇见传说中的大神....
|
8
ji4ozhu 2017-02-19 13:23:35 +08:00
@SlipStupig 不是大神是菜鸟。。
|
9
snnn 2017-02-20 10:08:00 +08:00 via Android
你是每个线程都有一个 event loop?
|
10
whatTheGhost OP @snnn 是的,主 EventLoop 负责监听新连接,其他线程的 EventLoop 负责每个终端连接的读写事件,每个 EventLoop 监听多个终端。(在不开线程池情况下,默认只用一个主 EventLoop 来监听所有 IO 事件)
|
11
snnn 2017-02-20 19:53:15 +08:00 via Android
@whatTheGhost 你这做法从哪学来的?很新颖啊!
|
12
whatTheGhost OP @snnn 我看 boost.asio 那本书上的例子是不同的线程 同一个 io_service 调度器。这样效率也很高,不同的线程同时回调事件,但是我觉得这样有线程安全性问题,同一个终端连接数据会被不同的线程访问(所以给那本书打了三星~)。在 boost.asio 库源码有个 example 例子实现了 io_service_pool ,就是一个线程对应一个 io_service 。还有陈硕的 muduo 也是这种机制。
|