- 1
- 2
- 3
- 4
- 5
libevent的evthread线程支持与锁的实现.docx
资料介绍
libevent 的 evthread:线程支持与锁的实现
libevent 也要"加锁"
前面讲过,libevent 的事件循环是单线程的,但在多线程应用里,需要让 libevent 内部的数据结构线程安全。这就要靠 evthread 模块提供锁支持。
这篇文章讲 libevent 的线程支持和锁的实现。
为什么要线程支持
单线程场景下,libevent 内部不加锁,性能高。
但在多线程应用里,多个线程可能同时操作 libevent 的内部数据结构(比如添加事件、读取事件状态)。如果不加锁,就有并发风险,导致数据损坏、崩溃。
所以,多线程应用必须初始化 libevent 的线程支持,让它内部加锁。
evthread_use_pthreads
初始化线程支持,用 evthread_use_pthreads。
在 Linux 上,调用 evthread_use_pthreads(),让 libevent 内部使用 pthread 的锁和条件变量。
在 Windows 上,用 evthread_use_windows_threads()。
初始化后,libevent 内部的操作会加锁,保证多线程安全。
部分文件列表
| 文件名 | 大小 |
| libevent的evthread线程支持与锁的实现.docx | 37K |
最新上传
-
yahuang001 打赏3.00元 3天前
-
yahuang001 打赏1.00元 3天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏3.00元 3天前




全部评论(0)