码迷,mamicode.com
首页 > 其他好文 > 详细

bufferevent小记

时间:2020-07-21 23:17:44      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:event   不同的   art   lis   循环   使用   函数   libev   lib   

如何在不同的线程使用bufferevent_read和bufferevent_write呢?

首先,我们需要在建立base之前加上evthread_use_pthreads();

evthread_use_pthreads();
struct event_base* base = event_base_new();
struct evconnlistener* listen = libev_start(base, Port);
event_base_dispatch(base);
evconnlistener_free(listen);
event_base_free(base);

接下来,可以设置全局变量来记录listen,base,bev。

这样,我们可以在其他线程中关闭libevent循环,也可以用记录的bev来

进行读写,切记,bufferevent_read,bufferevent_write和read_cb,write_cb

完全是两个分开的东西,不要把他们纠缠到一起,网上的例子很多都把他们

写在一起,让新手一头雾水,bufferevent的读写可以在任何函数中进行,只

要你有对应的bev就可以进行读写。

bufferevent小记

标签:event   不同的   art   lis   循环   使用   函数   libev   lib   

原文地址:https://www.cnblogs.com/solanin315/p/13357060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!