C 我必须在多线程服务器中使用互斥来保护bufferevent_write吗

C 我必须在多线程服务器中使用互斥来保护bufferevent_write吗,c,multithreading,mutex,libevent,C,Multithreading,Mutex,Libevent,libevent声称是线程安全的,但我想知道这是否意味着我们不需要运行受互斥锁保护的bufferevent\u write 我想在几个不同的线程中运行libevent的bufferevent\u write函数,它们可以同时执行 根据文档,bufferevent\u write函数向bufferevent的输出缓冲区添加数据,因此需要保护缓冲区,但是我不知道它是否已经被互斥锁保护,或者我是否必须手动保护它?通过查看libevent的源代码,似乎互斥锁没有包括在内。 bufferevent\u w

libevent
声称是线程安全的,但我想知道这是否意味着我们不需要运行受互斥锁保护的
bufferevent\u write

我想在几个不同的线程中运行
libevent
bufferevent\u write
函数,它们可以同时执行


根据文档,
bufferevent\u write
函数向
bufferevent
的输出缓冲区添加数据,因此需要保护缓冲区,但是我不知道它是否已经被互斥锁保护,或者我是否必须手动保护它?

通过查看
libevent
的源代码,似乎互斥锁没有包括在内。
bufferevent\u write
调用
evbuffer\u add
。我在这里找到了这个函数的源代码:
所以我想我必须调用这两个函数:

void evbuffer_lock(struct evbuffer *buf);
void evbuffer_unlock(struct evbuffer *buf);

你不在乎数据的顺序吗?不,我不在乎,顺序不重要