当前位置: 技术问答>linux和unix
Linux 下libevent如何实现高并发处理的?
来源: 互联网 发布时间:2017-01-12
本文导语: 新手,了解了一下libevent库,参考网上写了个例子,大概的libevent的函数如下: struct evhttp *http_server = NULL; event_init(); http_server = evhttp_start(app_config.addr, app_config.port); if (http_server == NULL) { kill(0, SIGT...
新手,了解了一下libevent库,参考网上写了个例子,大概的libevent的函数如下:
这么简单就可以了。
这样只是一个进程而已,就能达到高并发处理了?
难道libevnet里面的机制是多线程?高手指导一下,libevent是如何做到高并发处理的?不胜感激啊
struct evhttp *http_server = NULL;
event_init();
http_server = evhttp_start(app_config.addr, app_config.port);
if (http_server == NULL) {
kill(0, SIGTERM);
exit(-1);
}
fprintf(stdout, "app listen on %s:%dn", app_config.addr, app_config.port);
evhttp_set_timeout(http_server, app_config.timeout);
evhttp_set_gencb(http_server, generic_request_handler, NULL);
event_dispatch();
evhttp_free(http_server);
这么简单就可以了。
这样只是一个进程而已,就能达到高并发处理了?
难道libevnet里面的机制是多线程?高手指导一下,libevent是如何做到高并发处理的?不胜感激啊
|
我看过源码哦,有疑问来问我哦。