新手,了解了一下libevent库,参考网上写了个例子,大概的libevent的函数如下:
C/C++ code
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:%d\n", 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是如何做到高并发处理的?不胜感激啊