gpt4 book ai didi

multithreading - epoll_wait 在几个线程上更快?

转载 作者:行者123 更新时间:2023-12-04 05:39:26 25 4
gpt4 key购买 nike

我正在考虑基于 epoll 编写一个 tcp 服务器.
为了获得最佳性能,我也想实现多核支持。但在我的研究过程中,出现了以下问题:
叫两个更快吗epoll_wait() - 来自两个不同线程的调用,每个线程在双核上观察自己的文件描述符?或者这是否与只调用一个 epoll_wait() 一样快哪个观察所有文件描述符?

由于内核观察文件描述符,我认为在用户空间调用 epoll_wait() 时使用多少线程并不重要。 ?

最佳答案

只要您使用边缘触发(EPOLLET)模式(并注意同步),您甚至可以在多个线程上为同一个 epoll_fd 同时调用 epoll_wait。与单线程 epoll 事件循环相比,使用这种方法可以在多核机器上获得真正的性能优势。

前段时间我确实做过性能测量,结果见我的博客文章:

  • http://cmeerw.org/blog/748.html#748
  • http://cmeerw.org/blog/746.html#746
  • 关于multithreading - epoll_wait 在几个线程上更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12481245/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com