gpt4 book ai didi

linux - libevent 的实现细节是什么?轮询机制的封装?

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:05 24 4
gpt4 key购买 nike

libevent 由于事件通知和回调函数的支持,为程序员提供了编写异步程序的能力。我不知道linux内核是否提供了这样的系统调用来在特定事件发生时通知用户空间应用程序。当人们使用非阻塞操作时,他们必须轮询所有文件描述符以检查其中一些是否准备就绪。但是,我认为 libevent 可能会利用其他一些高级方法来完成此任务,例如一些未知的系统调用。

那么,1) libevent 如何检查不同事件的状态?通过轮询或其他机制? 2) libevent 运行时是否fork 线程的子进程?

最佳答案

libevent首页阅读(部分),

Currently, libevent supports /dev/poll, kqueue(2), event ports, POSIX select(2), Windows select(), poll(2), and epoll(4).

对于现代 Linux,答案是 epoll

关于linux - libevent 的实现细节是什么?轮询机制的封装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34668705/

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