首先,你的多线程程序是多个线程 epoll_wait 同一个 epoll fd 还是每个线程有自己的 epoll fd?其次,...
如果现在有个需求,线程池 同时用于收发网路消息,那么就会出现个问题,假如逻辑线程在向 线程池发送消息,但是此时线程池,正好处于epoll_wait那么我们此时就需要在发送晓得时候去通知,epoll_ctl (EPOLL_CTL_MOD)用于唤醒。 加粗位置实现的唤醒操作。 那么libevent 是如何实现的呢,在bufferevent 初始化的时候 structbufferev...
主线程,之外开了两个工作线程,循环epoll_wait,加入一个客户端已接入,先发了条消息"a",线程2的epoll_wait执 行下去,在收这条消息的时候,客户端发了条消息"b",此时加入线程3恰巧被分配到时间运行,此时线程3的epoll_wait可否执行下去?1.线程2执行完读取“a”,线程3的wait才会被唤醒,去读取消息“b”吗?2.线...