libevent创建的子线程无法主动发送数据
因为种种原因,必须在使用libevent的server端使用多线程,但是我发现一个问题,子线程发送的数据不会主动发送,他只能在有触发的情况下才发送,这样肯定不行的,找了很多方案,还请了一个大佬帮忙,最后终于解决了。
原文链接
解决方案
在 event_base_new() 之前加一句 evthread_use_windows_threads();
在 bufferevent_socket_new() 的参数中加入 BEV_OPT_THREADSAFE 选项。