- 1
- 2
- 3
- 4
- 5
libevent的event_active跨线程手动激活事件.docx
资料介绍
libevent 的 event_active:跨线程手动激活事件
主动"叫醒"一个事件
在 libevent 里,事件通常是被动触发的:IO 就绪、定时器到期、信号到达,事件才被激活。但有时候,你需要主动地、手动地激活一个事件,让它立刻执行回调。
event_active 就是干这个的。这篇文章讲 event_active 的用途和原理。
event_active 是什么
event_active 手动激活一个事件,让它在事件循环里被处理。
调用 event_active(ev, events, ncalls),会把事件放入激活队列,让事件循环在下一轮处理它的回调。
它模拟了事件"就绪"的状态,让回调被主动触发,而不是等待真实的 IO 或定时触发。
跨线程唤醒
event_active 最常见的用途之一,是跨线程唤醒。
在单线程事件循环里,主线程阻塞在 event_base_loop,无法执行其他操作。如果另一个线程需要让事件循环做某事,可以用 event_active 手动激活一个事件。
官方文档里就有一句:多线程程序中的一种常见用途,是从另一个线程唤醒正在运行 event_base_loop 的线程。
通过 event_active,跨线程可以安全地"叫醒"事件循环,执行需要的操作。
部分文件列表
| 文件名 | 大小 |
| libevent的event_active跨线程手动激活事件.docx | 37K |
最新上传
-
江岚 打赏100.00元 1天前
用户:潇潇江南
-
他山之石可攻玉 打赏50.00元 1天前
用户:烟雨
-
21ic下载 打赏1.00元 1天前
用户:王小琪
-
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天前




全部评论(0)