您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页惊群效应中epoll_create一定要在fork之后

惊群效应中epoll_create一定要在fork之后

来源:二三娱乐

背景

多进程单线程epoll程序,惊群问题是绕不开的,即使内核替你解决了accept的惊群问题,epoll的还是需要用户自己解决,这个事情不应该由内核管,它也管不了。

我在测试中发现,epoll_create的创建工作,一定要在fork之后,否则就出现串线现象,就是a进程accept后新建的socket连接,等到下次触发in事件时,就串到b进程中了,这个很好测试,可以先开两个进程,挂载上去一试便知。

后来我把epoll_create的位置放在fork之后,发现没有这个现象了

分析

为什么会有这个现象?

其实我真的没有想明白,我即使是在fork之前创建,可是fork之后,子进程是复制了父进程的资源,那么对应的epoll句柄也应该是复制的啊,现在出现了串线现象,说明子进程并不是复制了父进程的资源,而是共享了父进程的资源

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务